Передача файлов JSCH SFTP - данные в файле повреждены

Я сталкиваюсь с проблемой при передаче файла с использованием JSCH в Java. Данные в файле повреждены, и это происходит периодически. Я имею в виду, что иногда файл загружается правильно, и в большинстве случаев мы замечали, что данные повреждены, когда размер файла превышает 5 МБ.

Программа ведет себя по-разному в разных сценариях.

Windows-10: Программа прекрасно работает без проблем для файлов любого размера.

Unix: Программа отлично работает для файлов размером менее 2 МБ. Но для файлов, размер которых превышает 2 МБ, иногда файл может быть загружен правильно, но в большинстве случаев мы видим, что данные повреждены.

Я до сих пор не понимаю, что является причиной повреждения данных? Я не думаю, что код имеет проблему, так как программа прекрасно работает в среде Windows, а иногда и в среде Unix.

Есть ли какие-либо проблемы с тем, как программа читает данные и записывает их на удаленный сервер или что-то еще, что мне здесь не хватает? Пожалуйста помоги.

public boolean putFile(String report, String user, String password, String location, 
      String folder) throws Exception {

    boolean status=true;
    JSch shell = new JSch();
    Session session = null;
    session = shell.getSession(user, location, 22);
    session.setPassword(password);
    session.setConfig("StrictHostKeyChecking", "no");
    session.connect();
    Channel channel = null;
    channel = session.openChannel("shell");
    channel.setInputStream(null);
    channel.setOutputStream(null);
    channel = session.openChannel("sftp");
    channel.connect();
    ChannelSftp sftp = (ChannelSftp) channel;
    sftp.cd(folder);
    File outputFile = new File(report);
    FileInputStream fileInputStream = new FileInputStream(outputFile);
    sftp.put(fileInputStream, outputFile.getName());
    session.disconnect();
    return status;
}

1 ответ

Решение

Была ошибка в jsch-версии, которую мы использовали. Прочитайте журнал изменений выпусков jsch и обновите версию. Это решило проблему.

Другие вопросы по тегам