使用了这个类的函数readLine()读到文件结尾时
想继续用readLine()重新从文件头开始读,应该怎么把指针放到文件开始位置
------解决方案--------------------
用RandomAccessFile类随机读写可以吧
RandomAccessFile rf = new RandomAccessFile(File file, "r");
rf.seek(0);
------解决方案--------------------
要随机地读的话请用RandomAccessFile类,若你实在要用BufferedReader的话,那你就关闭一次
再打开一次好了,那就如一楼所说,闲得没事了……
可能楼主有了解C读文件,什么fseek之类的,你要的这些在RandomAccessFile类中有。
------解决方案--------------------
如果只是学习一下或者针对小文件的话:
- Java code
File file = new File("D:/test/test.txt"); BufferedReader reader = null; int buffSize = 4096; try { reader = new BufferedReader(new FileReader(file), buffSize); String line; reader.mark(((int) file.length()) + buffSize); while ((line = reader.readLine()) != null) { System.out.println(line); } reader.reset(); System.out.println("============================="); System.out.println(reader.readLine()); } catch (Exception ex) { ex.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (Exception ex) { } } }
------解决方案--------------------
------解决方案--------------------
close之前的BufferReader 然后再new BufferReader 就回溯到文件头