在java中如何在FileWriter和BufferedWriter中下一行?

在java中如何在FileWriter和BufferedWriter中下一行?,java,filereader,filewriter,bufferedwriter,Java,Filereader,Filewriter,Bufferedwriter,我一直在尝试处理一些文件,但它从未进入下一行。 使用“\r\n”或使用bufferedWriter,起初我只使用fileWriter 如何制作下一行()?这些文件将在Unix上使用,我听说它与下一行识别的字符不同 下面是我的程序的样子: try { File tempFile = new File(pathFiles + "tmp.txt"); //System.out.println(tempFile); //TEST FileWriter fw = new

我一直在尝试处理一些文件,但它从未进入下一行。 使用“\r\n”或使用bufferedWriter,起初我只使用fileWriter

如何制作下一行()?这些文件将在Unix上使用,我听说它与下一行识别的字符不同

下面是我的程序的样子:

try {

    File tempFile = new File(pathFiles + "tmp.txt");
    //System.out.println(tempFile);     //TEST
    FileWriter fw = new FileWriter(tempFile, true);
    BufferedWriter bw = new BufferedWriter(fw);
    Reader fr = new FileReader(fileOriginal);
    BufferedReader br = new BufferedReader(fr);

    String line = "";
    while ((line = br.readLine()) != null) {

        for (int i = 0; i < arrayToConvert.size(); i++) {
            line = line.replace(arrayToConvert.get(i),
                    arrayConverted.get(i));
        }
        //line += "\r\n";   
        //line += "\u240D";
        //System.getProperty("line.separator");
        //br.readLine().split("[\\r\\n]+");
        //br.write(line);
        bw.write(line);
        bw.newLine();


        //br.readLine().split("[\\r\\n]+");
        //line.split("[\\r\\n]+");
    }

    bw.close();
    fw.close();
    br.close();
    fr.close();
试试看{
File tempFile=新文件(路径文件+“tmp.txt”);
//System.out.println(tempFile);//测试
FileWriter fw=新的FileWriter(tempFile,true);
BufferedWriter bw=新的BufferedWriter(fw);
Reader fr=新文件读取器(文件原件);
BufferedReader br=新的BufferedReader(fr);
字符串行=”;
而((line=br.readLine())!=null){
对于(int i=0;i
这是你需要的部分。在评论中,我已经试过了


谢谢您的帮助。

将您的
BufferedWriter
包装在一个文件中,并使用
println()
方法

PrintWriter pw = new PrintWriter(bw);

pw.println(line);

br.newLine()
编写一个依赖于平台的换行符分隔符,它并不总是
\r\n
。您知道吗?您检查了文件的内容了吗?即使没有可见字符?在操作系统上构建一个文件以在另一个操作系统中读取也没有必要