我正在尝试格式化文本文件。我想删除除用于启动新的alinea之外的所有新行字符。我的意思是,如果文本文件中的行是空白,我想保留它,但需要删除所有其他换行符。
这是我到目前为止所做的:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Formatting {
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(System.in);
System.out.println("give file name: ");
String filename = in.next();
File inputfile = new File(filename);
Scanner reader = new Scanner(inputfile);
String newline = System.getProperty("line.separator");
PrintWriter out = new PrintWriter("NEW " + filename);
while(reader.hasNextLine()) {
String line = reader.nextLine();
if (line.length() > 2 && line.contains(newline)) {
String replaced = line.substring(0,line.length()) + ' ';
out.print(replaced);
}
else {
out.print(line + ' ');
}
}
in.close();
out.close();
}
}
然而现在我的第一个if语句永远不会被执行。每个换行都会被删除。
有人可以帮我吗?非常感谢。
答案 0 :(得分:1)
这可能会对您有所帮助,请阅读评论以了解每行的用途。
// 3.将多个换行符压缩为单个换行符
:nth-child()