我需要以相反的顺序读取 i 文件,因为现在它必须运行所有文件才能找到我知道它会在最后几行中的内容。我的目标是让我的应用程序更快以相反的顺序逐行读取文件的最快方法是什么?
例如:我的文件是
line1
line2
line3
line4
line5
我想读
line5
line4
line3
line2
line1
我知道有很多方法可以做到这一点...但是哪一种可以减少我的开销?
我需要以相反的顺序读取 i 文件,因为现在它必须运行所有文件才能找到我知道它会在最后几行中的内容。我的目标是让我的应用程序更快以相反的顺序逐行读取文件的最快方法是什么?
例如:我的文件是
line1
line2
line3
line4
line5
我想读
line5
line4
line3
line2
line1
我知道有很多方法可以做到这一点...但是哪一种可以减少我的开销?
试试这个,我认为这是以相反顺序读取文件的最快方法。
import java.io.*;
import java.util.*;
class FileReaderReverse
{
public static void main(String[] args) throws IOException,FileNotFoundException
{
FileReader fr=new FileReader("abc.txt");
BufferedReader br=new BufferedReader(fr);
String s;
List<String> tmp = new ArrayList<String>();
do
{
s = br.readLine();
tmp.add(s);
}while(s!=null);
for(int i=tmp.size()-1;i>=0;i--) {
System.out.println(tmp.get(i));
}
}
}