在使用Java的BufferedReader读取文件的每一行时出现中文乱码
使用过new BufferedReader(new InputStreamReader(new FileInputStream(“D:/CascadeUAS–2020-05-20-00-00-04.log”), “utf-8”));依旧乱码,经过反复测试,将utf-8改成GB2312即可:
代码如下:

BufferedReader br = null;
        PrintWriter pw = null;
        String str = null;
        Integer i = 0;
        try {
            //读取log文件
            br = new BufferedReader(new InputStreamReader(new FileInputStream("D:/CascadeUAS--2020-05-20-00-00-04.log"), "GB2312"));
            //写入
            //pw = new PrintWriter(new FileWriter("D:/123.txt"), true);

            while ((str = br.readLine()) != null) {
                //记录行号
                i++;
                //查找改行有没有收到视频云平台的心跳请求的字符,如果有,将行号写入txt中
                if (str.indexOf("收到视频云平台的心跳请求") != -1) {
                    pw.println(i + str);
                }
            }
           // System.out.println("文件已写入txt文本中");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                pw.flush();
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }