我使用FTP Server
从FTPClient
下载图像文件。我看起来像这样:
public class FtpDownloadDemo
{
public static void main(String[] args)
{
FTPClient client = new FTPClient();
FileOutputStream fos = null;
try
{
client.connect("ftp.domain.com");
client.login("user", "pass");
//
// The remote filename to be downloaded.
//
String filename = "side.jpg";
fos = new FileOutputStream(filename);
//
// Download file from FTP server
//
client.retrieveFile("/" + filename, fos);
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (fos != null)
{
fos.close();
}
client.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
下载文件时,输出看起来失真,如下所示;
有没有办法检查是否已收到所有字节,否则等待收到所有字节?
答案 0 :(得分:3)
我强烈怀疑真正的问题是传输是以ASCII而不是二进制模式完成的。
在开始转移之前尝试拨打client.setFileType(FTP.BINARY_FILE_TYPE);
。