在Java中编写文件时如何创建断路器?

时间:2014-06-03 21:20:20

标签: java

我正在处理一个代码,它接受了几个输入并将它们重新写入我创建的.txt文件中,但令我沮丧的是输出文件即使有适当的输出文件也不能包含断路器格式。我使用的是Formatter(java.util)

public void file(Scanner s, Formatter f){
    String s1 = s.nextLine();
    if (!"end".equals(s1)){
        f.format("%s\n%s", s1, "  ");
        file(s,f);
    }
    f.close();
}

public void file(Scanner input,Formatter f,int state){
    String s1 = input.nextLine();
    int loopStop = 0;
    if (state == 1){
        file(input, f);
    } else {
        while (!"end".equals(s1) && loopStop<11){
            f.format("%s\n\n%s", s1, "  ");
            s1 = input.nextLine();
            loopStop++;
        }
        f.close();
    }
}

3 个答案:

答案 0 :(得分:4)

使用&#39;%n&#39;对于特定于平台的行分隔符:

f.format("%s%n%n%s", s1, "  ");

答案 1 :(得分:2)

尝试使用System.getProperty("line.separator")

在此处阅读System Properties,其中包含完整的系统属性列表。

System类维护一个Properties对象,该对象描述当前工作环境的配置。

  

&#34; line.separator&#34; - 操作系统用于分隔文本文件中的行

的序列

尝试使用System.lineSeparator()表示:

  

返回依赖于系统的行分隔符字符串。它总是返回相同的值 - 系统属性line.separator的初始值。

     

在UNIX系统上,它返回&#34; \ n&#34 ;;在Microsoft Windows系统上,它返回&#34; \ r \ n&#34;。

答案 2 :(得分:0)

假设您正在使用Windows,则需要使用\r\n这是Windows中换行的正确组合,或者只需使用System.getProperty("line.separator");来获取换行组合。