BufferedReader类
使用了这个类的函数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 就回溯到文件头