【发布时间】:2018-04-16 08:19:08
【问题描述】:
我一直在尝试处理一些文件,但它永远不会进入下一行。 使用“\r\n”或者使用bufferedWriter,一开始我只使用fileWriter。
如何制作 nextLine() ?这些文件将在 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();
这是您需要的部分。在评论中,我已经尝试过。
感谢您的帮助。
【问题讨论】:
-
br.newLine()应该可以工作并且与平台无关,但不应该在 for 循环中调用缓冲的写入器写入和换行符吗?还是我很困惑?我自己,我会使用 PrintWriter 的println(...)方法。 -
bw.newLine()写入一个依赖于平台的换行符分隔符,它并不总是\r\n。你知道吗? -
你检查过文件的内容了吗?竟然看不出来人物?在操作系统上构建文件以在另一个操作系统中读取将不需要工作
标签: java filereader filewriter bufferedwriter