我试图归档将从BufferedReader读取多行文件。 但是此BufferedReader只读取一行并退出其while() 。 在他读之前,应该在该文件中写入同一类的另一种方法(而不是同时),通常要多一行。 该文件包含不同类型的变量,例如int[] , int , double[] , String 。 在一个对象的末尾,或者几乎只是我要收集的可以重新计算整个对象的数据的末尾, ObjectOutputStream粘贴"\\n" 。 我只是在该文件中编写了解析的字符串。
就我而言,这是ObjectInputStream的一种解决方法,因为此流每次都抛出EOFException 。 对于那些不知道EOFException :如果读取器在读取时到达文件末尾,则将抛出该异常。
我试过了:
将BufferedReader的输入字符串设置为另一行
.close()阅读器并将其new
设置while(1)
编写其他数据类型,例如整个对象,但全部不做任何更改。 BufferedReader仅读取一行,而ObjectInputStream抛出EOFException 。
LinkedList list;
File file = new File(fullPath) // fullPath = absolute path to the file
FileInputStream fileInputStream;
BufferedReader bufferedReader;
public static LinkedList readFile()
{
list = new LinkedList();
fileInputStream = new FileInputStream(file); // could be FileReader
bufferedReader = new BufferedReader(fileInputStream);
String helper, anotherHelper;
while ((helper = bufferedReader.readLine()) != null)
{
while ((anotherHelper = scanner.hasNext()) != null)
// here's some code with scanner-things, it shouldn't be necessary to
// know. In fact the scanner help to gather the data from the file and
// create an object of SomeAnotherSelfMadeCLass and put it into the list
}
bufferedReader.close();
fileInputStream.close();
return list;
}
我可以读取文件的所有行并重新计算粘贴在其中的对象,该怎么办?
我也不知道 最好与ObjectInputStream或BufferedReader ? 我该怎么办, ObjectInputStream不会抛出EOFException (每次我与ObjectInputStream一起工作时,我都是通过ObjectOutputStream编写整个Object的)?
PS:我家里没有互联网自动取款机,所以我可能需要一段时间才能回答。