BufferedReader readLine隔行读取的大坑

logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>读取txt开始");
        File file = new File(filepath);
        try {
            if (file.isFile() && file.exists()) {
                InputStreamReader read = new InputStreamReader(new FileInputStream(file), chartset);//考虑到编码格式
                BufferedReader reader = new BufferedReader(read);
                String contents = "";while ((contents = reader.readLine()) != null) {
                    contents += reader.readLine();
                    contents += "\n";
                    logger.info(contents);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.error(e.getMessage());
        } finally {
            logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>读取结束开始");
        }

 

 

 

本来以为输出的时候是按照一行一行输出的,结果一次性读取了两行,看了网上大多数的解决方法,都没有什么好方法解决,就只能自己解决了。

 logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>读取txt开始");
        File file = new File(filepath);
        try {
            if (file.isFile() && file.exists()) {
                InputStreamReader read = new InputStreamReader(new FileInputStream(file), chartset);//考虑到编码格式
                BufferedReader reader = new BufferedReader(read);
                String contents = "";
                String row = "";
                while ((contents = reader.readLine()) != null) {
                    contents += "\n";
                    contents += reader.readLine();
                    contents += "\n";
                    row += contents;
                }
                logger.info(row);
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.error(e.getMessage());
        } finally {
            logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>读取结束开始");
        }

 

 终于,暂时解决了小问题。

posted @ 2021-09-02 12:35  学习就是进步!  阅读(466)  评论(0)    收藏  举报