1

最後の行にあることがわかっているものを見つけるためにすべてのファイルを実行する必要があるため、ファイルを逆の順序で読み取る必要があります。私の目的は、アプリケーションを高速化することです ファイルを 1 行ずつ逆順に読み取る最も速い方法はどれですか?

例: 私のファイルは

  line1
  line2
  line3
  line4
  line5

私は読みたい

  line5
  line4
  line3
  line2
  line1

私はそれを行う方法がたくさんあることを知っています...しかし、どれが私のオーバーヘッドを少なくしますか?

4

1 に答える 1

-1

これを試してみてください。これが、ファイルを逆順に読み取る最速の方法だと思います。

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));  
        }  
    }  
}  
于 2013-09-12T12:23:17.147 に答える