尝试保留我的字符串格式。 当我打开我的.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
标题:人...摘要 乔约翰是一个人。
...问题 毫无疑问
...应答
^这是字符串"页面"
答案 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?