У меня есть этот код:Использование Java ByteArrayInputStream Файл
public void uploadToFTP(File file) {
try {
final ByteArrayInputStream stream = new ByteArrayInputStream(FileUtils.readFileToByteArray(file));
String date = dateFormat.format(new Date());
String filename = date.replaceAll(":", "-");
sessionFactory.getSession().write(stream, "dir/" + filename + ".txt");
} catch (IOException e) {
e.printStackTrace();
}
}
Параметр я получил в этом случае File
я хочу, чтобы загрузить какой-то FTP, но проблема каждый раз, когда я делаю это файл на самом деле пуст. Когда я пытаюсь, например, final ByteArrayInputStream stream = new ByteArrayInputStream("Text here".getBytes());
, он работает нормально и хранит информацию внутри файла, что может быть проблемой здесь, может быть, проблема может быть с преобразованием File
в байты или?
Вы уверены, что входной файл не пуст? Btw, вы можете использовать 'final InputStream is = new BufferedInputStream (новый FileInputStream (файл)) вместо этого, без необходимости читать весь файл в памяти. – ike3
Да, вход не пуст, но позвольте мне попробовать ваше предложение – imoteb