Загрузка файла Java FTP xls

Я пытаюсь загрузить файлы на FTP-сервер в классе Java. Я использую библиотеку 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();
}

Большое спасибо за любую помощь.


person Enrico    schedule 14.09.2011    source источник


Ответы (1)


Я решил проблему, используя предложение в этой ветке:

Перенести необработанный двоичный файл с помощью FTPClient apache commons-net?

Все, что мне нужно было сделать, это установить режим двоичного файла для файлов, отличных от .txt:

if (fileExtension.equals("txt")) {
    ftpClient.setFileType(FTPClient.ASCII_FILE_TYPE);
} else {
    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
}
person Enrico    schedule 15.09.2011
comment
Большое тебе спасибо! Кроме того, в качестве примечания, вы можете получить доступ к этой константе непосредственно из класса FTP вместо FtpClient ... - person spauny; 06.02.2013