Java “爪哇新线”\";在“保存到文本文件”中不工作
这是我的密码:Java “爪哇新线”\";在“保存到文本文件”中不工作,java,file-io,Java,File Io,这是我的密码: public String display() { return "\n......................\nFixed Employee:\n" + "Name: " + super.fullName() + "\nSalary: " + salary() + " tk\n......................"; } 但当我从主类调用此方法时,“\n”换行符不起作用。只显示一行输
public String display() {
return "\n......................\nFixed Employee:\n" +
"Name: " + super.fullName() +
"\nSalary: " + salary() +
" tk\n......................";
}
但当我从主类调用此方法时,“\n”换行符不起作用。只显示一行输出。你能帮我解决这个问题吗
感谢在文件中保存使用
\r\n
<代码>\n因为新行在printstreams上是可行的,但不能写入文件。您可能需要独立于系统的行分隔符,因为它可能因操作系统而异。只需将\n替换为行分隔符的值:
- 加载任何系统属性时都可以检索到我:
公共字符串显示(){
String separator=System.getProperty(“line.separator”);//使用系统属性的键加载系统属性。
返回“\n………\n固定员工:\n”
+“姓名:”
+super.fullName()+
“\n报警:”
+薪金()
+“tk\n……”
.replace(“\\n”,分隔符);//在返回字符串之前替换\n
}
- 或者简单地使用@Deepanshu Bedi建议的
方法:System#lineSeparator
公共字符串显示(){
String分隔符= Stray.LeNeSePARTARE();/ /将其视为快捷方式。
返回“\n………\n固定员工:\n”
+“姓名:”
+super.fullName()+
“\n报警:”
+薪金()
+“tk\n……”
.replace(“\\n”,分隔符);//在返回字符串之前替换\n
}
字符串显示在哪里?在控制台上?或者在控件中?抱歉,忘了提一下,我正在将此“显示”保存在txt文件中。您编写它的方式表明您认为\n
在返回
语句中的行为不同,这显然是不正确的。谢谢!也许它起作用了。谢谢我正在使用FileWriter和BufferedWriter。-1这个答案没有基础。从什么时候开始,\n
只用于打印?\r在编写文本文件时会起作用+1用于使用System.lineseparator()
,但在这种情况下,使用标准\r\n
可能适用于.txt
文件。使用.replace()
也会降低操作速度(由于正则表达式的缘故)。在串联中使用+分隔符
,这样编译器就可以对其进行优化。是的,绝对正确,尽管使用System.LineSeparator()
保存独立的机器代码并提供mor代码的可见性。