如何正确使用BufferedReader

时间:2014-03-28 16:49:07

标签: java bufferedreader

我有两个BufferedReader对象:

BufferedReader br = new BufferedReader(new FileReader("tekst.txt"));
BufferedReader pmc = new BufferedReader(new FileReader("tekst.txt"));

我想要做的是通过char读取整个文件的char。我需要两个读者,因为其中一个(pmc)有时会得到“一个字符到多个”。所以让我们说Reader读取4个字符,pmc读取5个字符 - 之后我想将br分配给pmc,这样它们看起来就像读了4个字符。以为这很简单

pmc = br;

会起作用,但pmc仍然是一个角色太远了。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

我认为你搜索的是mark方法,你可以在这里阅读它(并查看用法示例):http://www.tutorialspoint.com/java/io/bufferedreader_mark.htm

答案 1 :(得分:0)

你可以发布更多代码,因为你的问题很奇怪。 顺便说一句,如果你有一个物体objA和一个物体objB,那么将它们分配到另一个物体将不会按照你的想法行事。

使用字符串(也是对象)的示例:

String strA = "TestA";
String strB = "TestB";
strB = strA;
strA = "blabla";
System.out.println(strB);

这将不会打印TestA,但它会打印blabla,因为当您将一个对象分配给另一个对象时,另一个对象将指向内存中的相同值,因此2个对象将只有1个值。如果其中一个被更改,则在内存中值会更改,因此两个对象都会更改。

答案 2 :(得分:0)

如果您需要撤消阅读字符,可以使用PushbackReader而不是在两个阅读器之间切换。它有一个未读方法,允许您放回读取字符。见http://docs.oracle.com/javase/7/docs/api/java/io/PushbackReader.html