【问题标题】:Retrieving file content using FTPClient Java使用 FTPClient Java 检索文件内容
【发布时间】:2011-05-31 02:36:21
【问题描述】:

我正在使用公共 FTPCLIENT 我只想要来自 ftp 服务器的文件内容。 我不想将其写入临时文件。 有没有办法做到这一点。 fileoutputstream 应始终指向本地文件。

提前致谢。

【问题讨论】:

标签: java ftp apache-commons


【解决方案1】:

【讨论】:

    【解决方案2】:

    你应该使用retrieveFilestream 方法而不是retriveFile 方法..

    FTPClient ftp = new FTPClient();
    // configuration code for ftpclient port, server etc
    InputStream in = ftp.getretrieveFileStream("remoteFileName");
    BufferedInputStream inbf = new BufferedInputStream(in);
    byte buffer[] = new byte[1024];
    int readCount;
    byte result[] = null;
    int length = 0;
    
    while( (readCount = inbf.read(buffer)) > 0) {
          int preLength = length;
          length += readCount;
          byte temp[] = new byte[result.length];
          result = new byte[length];
          System.arraycopy(temp,0,result,0,temp.length); 
          System.arraycopy(buffer,0,result,preLength,readCount); 
    }
    return result;
    

    【讨论】:

      【解决方案3】:

      非常感谢您的快速回复..

      这确实对我有用.. 这就是我尝试过的。

      -

       FTPclient fClient=new FTPclient(); 
         fClient.connect("server"); 
         Fclient.login("user","pwd"); 
            InputStream iStream=fClient.retrieveFileStream("file");
            BufferedInputStream bInf=new BufferedInputStream (iStream);
            int bytesRead;
           byte[] buffer=new byte[1024]; 
           String fileContent=null; 
         while((bytesRead=bInf.read(buffer))!=-1)
         {
             fileContent=new String(buffer,0,bytesRead); }
      
      
         enter code here
      

      【讨论】:

        猜你喜欢
        • 2011-05-25
        • 2012-06-24
        • 1970-01-01
        • 2011-08-26
        • 2013-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-08-21
        • 2017-11-30
        相关资源
        最近更新 更多