我必须计算文件中的行数,但后来在代码中,我还必须打印该文件中的内容,但我无法使用读取器两次,它只是表示空值。如何在不创建一堆bufferedreader对象的情况下解决这个问题? 谢谢在txt文件上使用bufferedreader两次?
0
A
回答
0
- 打印并计算在同一时间?
- 将行移动到数组然后打印它们?
- 确保您在重新打开文件之前关闭了文件?
0
尝试关闭缓冲区,然后再次重新打开它。
BufferedReader bufferedReader = new BufferedReader(new FileReader("src/main/java/com/william/sandbox/stackoverflow/samples20160306/Demo.java"));
String line = bufferedReader.readLine();
int lineCount = 0;
while(line != null){
lineCount += 1;
line = bufferedReader.readLine();
}
System.out.println("Line count is: " + lineCount);
bufferedReader.close();
bufferedReader = new BufferedReader(new FileReader("src/main/java/com/william/sandbox/stackoverflow/samples20160306/Demo.java"));
line = bufferedReader.readLine();
while(line != null){
System.out.println(line);
line = bufferedReader.readLine();
}
}
+0
谢谢!作品!! –
-1
您可以使用BufferedReader
的mark()
和reset()
方法跳回到一个特定位置。
try (BufferedReader r = new BufferedReader(new FileReader("somefile.txt"))) {
// marks this position for the next 10 characters read
// after that the mark is lost
r.mark(10);
// do some reading
// jump back to the mark
r.reset();
}
需要注意的是,BufferedReader
支持标记,但不是所有的Reader
就做。您可以使用markSupported()
进行检查。
相关问题
- 1. BufferedReader从txt文件转换为阵列
- 2. BufferedReader然后写入txt文件?
- 3. Java如何使用BufferedReader以这种格式读取txt文件
- 4. 打开一个txt文件两次C++
- 5. 如何两次或多次读取BufferedReader?
- 6. 使BufferedReader从.txt文件的中间开始而不是开始?
- 7. BufferedReader空指针txt上的异常
- 8. 我怎么能在txt文件的BufferedReader行删除
- 9. 使用的BufferedReader读从文本文件
- 10. 如何重置BufferedReader(或InputStreamReader)以使用readline()两次?
- 11. 使用as3上的txt文件
- 12. ValueError:关闭文件上的I/O操作(使用两个txt文件)
- 13. 在打开的文件上使用熊猫read_csv()两次
- 14. 使用BufferedReader读取多个文件
- 15. 使用BufferedReader从文件中读取行
- 16. 的BufferedReader返回null第二次使用
- 17. 为什么fread()会在.txt文件上不同于.txt文件?
- 18. 使用Python在同一图中绘制两个.txt文件
- 19. 在Python中使用difflib比较两个.txt文件
- 20. 从.txt文件一次读取两行 - C++ getline/streams?
- 21. C# - 使用两个.txt文件比较/替换文本
- 22. 如何使用输入文件两次
- 23. 使用Python和.txt文件
- 24. 使用bat文件分割txt文件
- 25. 使用文件IO导入.txt文件
- 26. 在TXT文件
- 27. 在txt文件
- 28. 比较两个txt文件并在txt文件中逐行输出差异
- 29. 的BufferedReader - 从文本文件
- 30. 在一个txt文件中使用C++
只是关闭流和创建一个新的对象,可能重复http://stackoverflow.com/questions/5421653/reset-buffer-with-bufferedreader-in-java和http://stackoverflow.com/questions/ 262618/java-bufferedreader-back-to-the-top-of-a-text-file – ritesht93
请计算您打印的行数。 –
当你在代码后面说'你的意思是用同样的方法吗? 您总是可以有一个计数器来显示行数并打印行。 –