我想从头到尾以相反的方向读取文件,[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();我更喜欢使用缓冲区读取器以相反的顺序读取
3 回答

桃花长相依
TA贡献1860条经验 获得超8个赞
据我了解,您尝试逐行向后阅读。假设这是您尝试读取的文件:
第1行第
2行第
3行
您希望将其写入到servlet的输出流,如下所示:
line3
line2
line1
在这种情况下,以下代码可能会有所帮助:
List<String> tmp = new ArrayList<String>();
do {
ch = br.readLine();
tmp.add(ch);
out.print(ch+"<br/>");
} while (ch != null);
for(int i=tmp.size()-1;i>=0;i--) {
out.print(tmp.get(i)+"<br/>");
}
添加回答
举报
0/150
提交
取消