【发布时间】:2019-05-26 08:34:33
【问题描述】:
它是一个简单的“文件写入程序”,它从给定目录扫描文本文件并将其内容存储到初始化为“words”的字符串中。现在,当内容被连接到字符串中时。保留空格和换行符。但是,当我尝试将该字符串单词写入文件时。空格被保留,但换行符丢失。 例如: 原始字符串: 你好。我被困在UMT。 带我离开这里。 文件写入: 你好,我被困在UMT。带我离开这里。 注意没有保留新行?没有换行?没有“\n”?
package testing;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Reader{ {
String words="this is a a new file created by me :D \n";
File file = new File("C:/file.txt");
try {
Scanner scan= new Scanner(file);
while(scan.hasNextLine()){
words= words.concat(scan.nextLine() + "\r ");
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null,
ex);
}
System.out.println(words);
try {
FileWriter writer = new FileWriter("D:/newfile.txt");
writer.write(words);
writer.close();
} catch (IOException ex) {
Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex);
}
}}
【问题讨论】:
-
nextLine()不包括换行符,\r不是一,\n是一。您正在不间断地阅读和不间断地写作。
标签: java