newLine()和回车符(“\ r”)之间的区别

时间:2010-07-22 10:12:38

标签: java

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();
}

5 个答案:

答案 0 :(得分:14)

假设你是这个意思:

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");
  }

答案 1 :(得分:9)

在ASR-33电传手机(以及之后的带打印头的点阵式打印机)的旧时代,CR确实将滑架返回到左侧,就像在打字机中一样,并且LF推进了纸张。如果CR出现在LF之前,机器可以重叠操作,这就是为什么换行符始终是CR-LF,即\ r \ n。如果你把它拿回来,打印需要更长的时间。 Unix是第一个(仅?)系统,只采用\ n作为标准行分隔符。 DOS / Windows没有。

答案 2 :(得分:1)

  

写一个行分隔符。这条线   分隔符字符串由。定义   系统属性line.separator,是   不一定是一个换行符   ('\ n')字符。

来源:http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/java/io/BufferedWriter.html

答案 3 :(得分:0)

在Windows平台上,行分隔符为CRLF(回车符/换行符),即" \ r \ n"。在Unix平台上,它只是LF," \ n"。传统上,在Apple平台上它只是CR," \ r"。

答案 4 :(得分:-1)

主要的newLine(\n)和回车符(\r)是:

新行(\n)&回车(\r)两个转义序列在java ..

换行(\n):

当在可执行语句中找到\n时,JVM将该行分为两部分,我们放置\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"