java储存多行文件_java - BufferedReader仅读取多行文件中的一行 - 堆栈内存溢出

我试图归档将从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:我家里没有互联网自动取款机,所以我可能需要一段时间才能回答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值