2

我正在尝试将文件上传到 Java 类中的 FTP 服务器。我使用 apache 库:org.apache.commons.net.ftp.FTPClient。在我尝试上传 XLS (Excel) 文件之前,上传功能工作正常。特别是,当我上传它时,文件已上传,但似乎已损坏。实际上它的大小与原始大小不同,当我尝试打开它时,它没有正确打开并且没有显示所有数据。

这是我使用的代码的一部分:

FTPClient ftpClient = new FTPClient();
File[] fileList;fileList = localFilePath.listFiles();
for (File file : fileList) {
    String fileName = file.getName();
    FileInputStream fileInputStream = new FileInputStream(file);
    ftpClient.storeFile(fileName, fileInputStream);
    fileInputStream.close();
}

非常感谢您提供的任何帮助。

4

1 回答 1

4

我使用这个线程中的建议解决了这个问题:

使用 apache commons-net FTPClient 传输原始二进制文件?

我需要做的就是为非 .txt 文件设置二进制文件模式:

if (fileExtension.equals("txt")) {
    ftpClient.setFileType(FTPClient.ASCII_FILE_TYPE);
} else {
    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
}
于 2011-09-15T07:59:32.050 回答