newLine()和回车符(“\ r”)之间的区别
newLine()
和回车符(“\ r”)之间有什么区别? 哪一个最好用?
File f = new File(strFileGenLoc); BufferedWriter bw = new BufferedWriter(new FileWriter(f, false)); rs = stmt.executeQuery("select * from jpdata"); while ( rs.next() ) { bw.write(rs.getString(1)==null? "":rs.getString(1)); bw.newLine(); }
假设你是这个意思:
public static String newLine = System.getProperty("line.separator");
newLine
是环境不可知的\r
不是。
因此newLine
会在Windows上提供\r\n
,但在另一个环境中提供\n
。
但是,你不应该在JTextArea中使用它,println只能在Windows上使用\n
才能正常工作。
现在编辑,我已经看到了代码和你的评论
在你的情况下。 我认为你应该使用自己的常量 – \r\n
File f = new File(strFileGenLoc); BufferedWriter bw = new BufferedWriter(new FileWriter(f, false)); rs = stmt.executeQuery("select * from jpdata"); while ( rs.next() ) { bw.write(rs.getString(1)==null? "":rs.getString(1)); bw.write("\\r\\n"); }
在过去的ASR-33电传手机(以及后来的带有行走打印头的点阵式打印机)中,CR确实将滑架返回到左侧,就像打字机一样,LF推进了纸张。 如果CR出现在LF之前,机器可以重叠操作,这就是为什么换行符始终是CR-LF,即\ r \ n。 如果你把它拿回来,打印需要更长的时间。 Unix是第一个(仅?)系统,只采用\ n作为标准行分隔符。 DOS / Windows没有。
写一个行分隔符。 行分隔符字符串由系统属性line.separator定义,不一定是单个换行符(’\ n’)。
来源: http : //download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/java/io/BufferedWriter.html
在Windows平台上,行分隔符是CRLF(回车符/换行符),即“\ r \ n”。 在Unix平台上,它只是LF,“\ n”。 传统上,在Apple平台上它只是CR,“\ r \ n”。
主要的newLine( \n
)和回车符( \r
)是:
新行( \n
)和回车符( \r
)两者都是java中的转义序列..
新行( \n
):
当在可执行语句中找到\n
时, JVM
将该行拆分为2个部分,从我们放置\n
(转义序列)。示例:
println("Stackover\nflow");
输出:
Stackover // here the line got split into 2 lines because of "\n" flow
回车( \r
):
\r
与同一行中存在的前一个字符一起超越后放置的数据或字符…
例子:
println("Stackover\rflow"); output: flow // here Statckover is overtired because of "\r"