在写入文件JAVA时保持字符串格式

时间:2014-09-17 03:09:45

标签: java formatting filewriter

尝试保留我的字符串格式。 当我打开我的.txt文件时,所有内容都会被写入一行。

String page = t.toString(); //this is my formatting String
        String fileName = t.getSymbol(); //just helps me name the file (not important)
        File file = new File("C:/Users/user1234212/desktop/folder1" + fileName + ".txt"); //not important here
        file.getParentFile().mkdirs(); // also not important
        FileWriter fw = new FileWriter(file.getAbsoluteFile()); //why does this reformat page ?
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(page);
            bw.close();

结果应该是: 标题: 其他信息:

姓名:joe john

标题:人

...摘要 乔约翰是一个人。

...问题 毫无疑问

...应答

^这是字符串"页面"

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题

你必须使用

java.io.BufferedWriter.newLine():写一个行分隔符。行分隔符字符串由系统属性line.separator定义,不一定是单个换行符('\n')字符..

如果您希望在每行中写入数据文件的每个内容,则必须致电newLine()

来源:http://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html#newLine()

我从帖子中找到了这个

  

newLine是环境无关的\ r不是。

     

因此newLine会在Windows上提供\ r \ n,但在另一个环境中提供\ n

来源:difference between newLine() and carriage return("\r")

\r\n

之间的差异
  

区别不是特定于Java,而是特定于平台。   从历史上看,类UNIX操作系统使用\ n作为换行符,有些   其他已弃用的操作系统已使用\ r和Windows操作系统已使用   \ r \ n

来源:What are the differences between char literals '\n' and '\r' in Java?