2012-12-15 26 views
5

我试着做 -扫描仪的构造导致的BufferedReader返回NULL

BufferedReader br = new BuffereReader(file); 
Scanner s = new Scanner(br); 
sys.out(s.next()); 
sys.out(buffReader.readLine()); 

我希望发生的是到现在已经有2名独立的读者在不同的地方指向该文件。然而,buffReader在readLine上返回null,而扫描器似乎工作正常。我是否有可能拥有2个我想要的读者?

+3

你不能用Java实现那件事。 –

回答

2

我想要发生的事情是现在有两个单独的阅读器在文件指向不同的地方。

您的期望是错位的。首先,它们都连接到只有一个当前位置的相同底层文件。其次,扫描仪缠绕在缓冲读取器上,所以扫描仪引起的位置变化通过发生在BufferedReader中。

+0

我不确定扫描仪发生的任何事情是否发生在BufferedReader中。扫描仪无法创建BufferedReaders资源的副本,以便拥有自己的资源? –

+0

@ Dgrin91我刚刚回答了这个问题。再次询问不会改变答案。 – EJP