Я заметил, что всякий раз, когда вы используете FileOutputStream
с добавлением как true, добавленный объект помещается в другую строку.Чтение нескольких строк из байтового потока
Мой вопрос: как вы читаете несколько строк данных с помощью ObjectInputStream
.
Для экс:
StringBytes общественного класса {
public static void main(String[] args) throws Exception {
String S1 = "Hi";
String S2 = "\n"+"Bye";
String file = "C:\\HiBye.out";
FileOutputStream fileOutputStream = new FileOutputStream(file);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(S1);
fileOutputStream = new FileOutputStream(file,true);
objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(S2);
FileInputStream fileInputStream = new FileInputStream(file);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
String SS = (String) objectInputStream.readObject();
System.out.println(SS);
}
}
Выход для выше Hi
поскольку Bye
находится на другой линии, он не читает. Я до сих пор beginer так все оцененная помощь
Как вы это сделаете, если не знаете, сколько строк есть? Как вы будете проходить через файл? –
вы можете окружить его с помощью try as catch EOFException и итерации до тех пор, пока он не сработает. Есть и другие способы. Вот несколько хороших ответов: http://stackoverflow.com/questions/2626163/java-fileinputstream-objectinputstream-reaches-end-of-file-eof –