不同平台的换行符差异


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

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的 换行



你可能感兴趣的:(linux,windows,换行,notepad++)