猿问

如何在Java中从头到尾读取文件(以相反的顺序)?

我想从头到尾以相反的方向读取文件,


[1322110800] LOG ROTATION: DAILY

[1322110800] LOG VERSION: 2.0

[1322110800] CURRENT HOST STATE:arsalan.hussain;DOWN;HARD;1;CRITICAL - Host Unreachable (192.168.1.107)

[1322110800] CURRENT HOST STATE: localhost;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 0.06 ms

[1322110800] CURRENT HOST STATE: musewerx-72c7b0;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 0.27 ms

我用代码以这种方式读取它,


String strpath="/var/nagios.log";

FileReader fr = new FileReader(strpath);

BufferedReader br = new BufferedReader(fr);

String ch;

int time=0;

String Conversion="";

do {

    ch = br.readLine();

    out.print(ch+"<br/>"); 

} while (ch != null);

fr.close();

我更喜欢使用缓冲区读取器以相反的顺序读取


12345678_0001
浏览 586回答 3
3回答

桃花长相依

据我了解,您尝试逐行向后阅读。假设这是您尝试读取的文件:第1行第2行第3行您希望将其写入到servlet的输出流,如下所示:line3line2line1在这种情况下,以下代码可能会有所帮助:&nbsp; &nbsp; List<String> tmp = new ArrayList<String>();&nbsp; &nbsp; do {&nbsp; &nbsp; &nbsp; &nbsp; ch = br.readLine();&nbsp; &nbsp; &nbsp; &nbsp; tmp.add(ch);&nbsp; &nbsp; &nbsp; &nbsp; out.print(ch+"<br/>");&nbsp;&nbsp; &nbsp; } while (ch != null);&nbsp; &nbsp; for(int i=tmp.size()-1;i>=0;i--) {&nbsp; &nbsp; &nbsp; &nbsp; out.print(tmp.get(i)+"<br/>");&nbsp; &nbsp; }
随时随地看视频慕课网APP

相关分类

Java
我要回答