【问题标题】:Retrieving file content using FTPClient Java使用 FTPClient Java 检索文件内容
【发布时间】:2011-05-31 02:36:21
【问题描述】:
我正在使用公共 FTPCLIENT
我只想要来自 ftp 服务器的文件内容。
我不想将其写入临时文件。
有没有办法做到这一点。
fileoutputstream 应始终指向本地文件。
提前致谢。
【问题讨论】:
标签:
java
ftp
apache-commons
【解决方案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