【发布时间】:2014-03-10 11:27:05
【问题描述】:
我正在使用org.apache.commons.net.ftp.FTPClient.retriveFile(String,OutputStream) 将文件从 FTP 下载到 Windows 机器。当我下载一个文本文件时,它的格式丢失了。当我在记事本中打开下载的文件时,它看起来不像原始文件。请在随附的屏幕截图中找到差异。请找到我的以下代码,请任何人告诉我相同的解决方案。
FileOutputStream fos = new FileOutputStream(tempPath+File.separator+files[i].getName());
this.ftpClient.retrieveFile(files[i].getName(), fos);
fos.close();
【问题讨论】:
-
看起来它正在将文件下载为二进制文件,您希望将其作为文本下载,因此它将行尾转换为您平台的格式。在文档中搜索“传输模式文本”之类的内容。
-
是的,原始文件是 ASCII 格式的,我们正在尝试以二进制格式下载。你能帮我下载 ASCII 格式的文件吗
-
见Apache Commons FTP problems:
boolean success = client.setFileType(FTP.ASCII_FILE_TYPE);。但似乎默认类型已经是 ASCII。
标签: ftp ftp-client