Board logo

标题: 不同平台的换行符差异 [打印本页]

作者: look_w    时间: 2019-4-20 14:28     标题: 不同平台的换行符差异

需要对文件进行读写,然后发现一个奇怪的现象。

linux生成的文件(规范的格式带换行)   在window中用记事本打开 没有换行。

原来是不同平台之间存在差异。

我们用notepad++进行查看  

就会发现

windows平台的换行符是CRLF



而linux平台的换行符是 LF



LF在windows的原生工具中是不能被识别成换行的。


但是  幸运的是在java中对文件流的读写。

    /**
         * 以行为单位读取文件,常用于读面向行的格式化文件
         */
        public static void readFileByLines(String fileName) {
            File file = new File(fileName);
            BufferedReader reader = null;
            try {
                System.out.println("以行为单位读取文件内容,一次读一整行:");
                reader = new BufferedReader(new FileReader(file));
                String tempString = null;
                int line = 1;
                // 一次读入一行,直到读入null为文件结束
                while ((tempString = reader.readLine()) != null) {
                    // 显示行号
                    System.out.println("line " + line + ": " + tempString);
                    line++;
                }
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e1) {
                    }
                }
            }
        }



reader.readLine()  可以读到 CRLF  或者LF的 换行




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0