gpt4 book ai didi

java - 使用 Apache Commons 和 Java FTP 下载后无法打开 Word 文档

转载 作者:行者123 更新时间:2023-11-29 09:26:31 24 4
gpt4 key购买 nike

<分区>

我已按照 Apache 教程使用 Java 从 FTP 下载文档。我尝试了两种方法,它们都下载了文件,如果我使用 Filezilla 检查文件,文件大小被报告为与我在 FTP 客户端中看到的大小相同。但是,当我在本地磁盘上获取文件然后打开它们时,Word 会抛出错误并询问我是否要恢复文档。即使恢复确实有效,我也需要首先正确下载文件。有人可以阐明为什么会发生这种情况吗?

这是来源:

    private void downloadAllFiles() throws IOException{
client.enterLocalPassiveMode();
client.changeWorkingDirectory(ftpDirectory);
client.setFileStructure(FTP.BINARY_FILE_TYPE);
FTPFile[] files = client.listFiles();
for(FTPFile f : files) {
if(f.isFile())
downloadFile(f);
}
}

private void downloadFile(FTPFile ftpFile) throws IOException{
File saveLocation = new File(fileStorageDir);
if(!saveLocation.exists())
saveLocation.mkdirs();
File downloadFile = new File(fileStorageDir + "\\" + ftpFile.getName());
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile));
InputStream inputStream = client.retrieveFileStream(ftpFile.getName());
byte[] bytesArray = new byte[4096];
int bytesRead = -1;
while((bytesRead = inputStream.read(bytesArray)) !=-1) {
outputStream.write(bytesArray, 0, bytesRead);
}
boolean success = client.completePendingCommand();
if (success) {
System.out.println("File has been downloaded successfully.");
}
outputStream.close();
inputStream.close();
}

文件名中也有奇怪的字符。在 FTP 服务器上,它看起来像这样

How the Filenames Should Look

当我通过 Java 保存它们时(我尝试过的任何一种方法),它们在我想要删除的文件名中有奇怪的字符:

Local File Names With Odd Characters

如果您能就这些问题中的任何一个提出任何建议,我们将不胜感激。感谢您的帮助。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com