为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

12345678_0001 2019-11-02 13:32:27
我想从头到尾以相反的方向读取文件,[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/>");

    }


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 585 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信