<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JAVA實現讀取最后幾行日志

      JAVA實現讀取最后幾行日志

      1. 背景

      在項目框架設計中,針對系統產生的日志,有線上查看日志的需求.日志文件本身很大.線上查看時,開發人員只想了解當前系統產生的錯誤信息.

      2. POM依賴

      主要使用 ReversedLinesFileReader 實現到讀日志文件,需要引入commons-io依賴,底層使用 RandomAccessFile 實現.

       <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
       </dependency>
      

      3. 代碼實現

      先倒序讀取每行數據,放入集合中.然后集合倒序,返回符合閱讀習慣的文本日志.

      public String readLastLines(String filePath, int lines) throws IOException {
        if(StringUtils.isBlank(filePath)|| lines<=0){
          return "";
        }
        List<String> lastLine = new ArrayList<String>();
        ReversedLinesFileReader reader = null;
        try {
          reader = new ReversedLinesFileReader(filePath, StandardCharsets.UTF_8);
          String line = "";
          while ((line = reader.readLine()) != null && lastLine.size() < lines) {
            lastLine.add(line);
          }
          Collections.reverse(lastLine);
        } catch (IOException e) {
          System.out.println("讀取文件失敗,公眾號:小滿小慢,小游戲:地心俠士");
        } finally {
          if (reader != null) {
            try {
              reader.close();
            } catch (IOException e) {
              System.out.println("關閉文件失敗,,公眾號:小滿小慢,小游戲:地心俠士");
            }
          }
        }
        return StringUtils.join(lastLine, "\r\n");
      }
      

      4. RandomAccessFile 基本使用

      使用 RandomAccessFile類,實現倒序讀取內容

      @Test
         public void testReadLogFile() {
         	File logFile = new File("./logs/spring.log");
         	RandomAccessFile reader = null;
         	try {
         		reader = new RandomAccessFile(logFile, "r");
         		System.out.println(reader.readUTF());
         		reader.seek(logFile.length() - 1);
         		byte c = -1;
         		List<Byte> l = new ArrayList<Byte>();
         		do {
         			c = reader.readByte();
         			if (c == '\r' || c == '\n') {
         				byte[] bytes = new byte[l.size()];
         				for (int i = 0; i < l.size(); i++) {
         					bytes[i] = l.get(i);
         				}
         				String line = new String(bytes, StandardCharsets.UTF_8);
         				System.out.println("地心俠士:"+ line);
         				l = new ArrayList<Byte>();
         			}
         		} while (reader.getFilePointer() != logFile.length());
         		System.out.println("地心俠士:" +logFile.length());
         	} catch (IOException e) {
         		e.printStackTrace();
         	} finally {
         		if (reader != null) {
         			try {
         				reader.close();
         			} catch (IOException e) {
      
         			}
         		}
         	}
         }
      
      posted @ 2025-06-02 11:00  _herbert  閱讀(284)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产精品日本一区二区不卡视频| 国产成人精品日本亚洲网站 | 色欲国产精品一区成人精品| 国产女人高潮视频在线观看| 亚洲第一区二区国产精品| 亚洲人妻系列中文字幕| 日本道高清一区二区三区| 苍井空毛片精品久久久| 国产高清在线精品一区APP| 成人亚洲精品一区二区三区| 91中文字幕在线一区| 人人妻人人做人人爽夜欢视频| 国产欧美精品区一区二区三区| 91亚洲国产成人精品福利| 欧美熟妇乱子伦XX视频| 国产欧美日韩精品丝袜高跟鞋| 国产精品七七在线播放| 国产粉嫩美女一区二区三| 亚洲高潮喷水无码AV电影| 欧洲精品免费一区二区三区| 亚洲熟女乱色一区二区三区| 四虎国产精品永久入口| 国产福利深夜在线播放| 婷婷综合缴情亚洲| 亚洲日韩在线中文字幕第一页 | 樱桃视频影院在线播放| 大又大又粗又硬又爽少妇毛片| 东阿县| 精品一区二区三区日韩版| 最新亚洲人成网站在线影院| 97久久精品人人澡人人爽| 久久综合色一综合色88| 欧美影院成年免费版| 91精品国产综合蜜臀蜜臀| 国产精品99中文字幕| 亚洲AV旡码高清在线观看| 亚洲黄色第一页在线观看| 亚洲第一无码AV无码专区| 国产69久久精品成人看| 男女性杂交内射女bbwxz| 亚洲日本欧洲二区精品|