Java中后台读取日志文件,到前端展示

public ResultVo viewLog(String taskId) {
    StringBuilder stringBuilder = new StringBuilder();
    FileInputStream fileInputStream = null;
    InputStreamReader inputStreamReader = null;
    BufferedReader bufferedReader = null;
    try {
        //创建文件
        File file = new File("D:\\logs\\rpa\\batch_info.log");
        //获取文件输入流
        fileInputStream = new FileInputStream(file);
        //使用utf-8读流
        inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
        bufferedReader = new BufferedReader(inputStreamReader);
        //读行
        String lineString = bufferedReader.readLine();
        //判断,是否数据
        while (lineString != null) {
            // ‘\r’是为了在前端展示时换行
            stringBuilder.append(lineString).append("\r");
            lineString = bufferedReader.readLine();
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (fileInputStream != null) {
            try {
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (inputStreamReader != null) {
            try {
                inputStreamReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (bufferedReader != null) {
            try {
                bufferedReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return ResultVo.ok().put("log",stringBuilder.toString());
}
posted @ 2023-02-17 16:39  Anhk丶  阅读(665)  评论(0)    收藏  举报