格式化文本文件java

时间:2016-10-07 09:54:38

标签: java formatting

我正在尝试格式化文本文件。我想删除除用于启动新的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语句永远不会被执行。每个换行都会被删除。

有人可以帮我吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助,请阅读评论以了解每行的用途。

// 3.将多个换行符压缩为单个换行符

:nth-child()