Эта проблема, кажется, возникает непоследовательно. Мы используем Java-апплет для загрузки файла с нашего сайта, который мы временно храним на компьютере клиента.
Вот код, который мы используем для сохранения файла:
URL targetUrl = new URL(urlForFile);
InputStream content = (InputStream)targetUrl.getContent();
BufferedInputStream buffered = new BufferedInputStream(content);
File savedFile = File.createTempFile("temp",".dat");
FileOutputStream fos = new FileOutputStream(savedFile);
int letter;
while((letter = buffered.read()) != -1)
fos.write(letter);
fos.close();
Позже я пытаюсь получить доступ к этому файлу с помощью:
ObjectInputStream keyInStream = new ObjectInputStream(new FileInputStream(savedFile));
Большую часть времени это работает без проблем, но время от времени мы получаем ошибку:
java.io.StreamCorruptedException: invalid stream header: 0D0A0D0A
, что заставляет меня поверить, что файл не сохраняется правильно.