java中写.txt文件,实现换行的几种方法:
1.使用java中的转义符"\r\n": 
windows下的文本文件换行符:\r\n
linux/unix下的文本文件换行符:\r
Mac下的文本文件换行符:\n

  1. 1.String str="aaa";
  2. 2.str+="\r\n";

2.BufferedWriter的newline()方法:

  1. FileOutputStream fos=new FileOutputStream("c;\\11.txt");
  2. BufferedWriter bw=new BufferedWriter(fos);
  3. bw.write("你好");
  4. bw.newline();
  5. bw.write("java");
  6. bw.newline();
  1. /**
  2. * Creates a new buffered character-output stream that uses an output
  3. * buffer of the given size.
  4. *
  5. * @param out A Writer
  6. * @param sz Output-buffer size, a positive integer
  7. *
  8. * @exception IllegalArgumentException If sz is <= 0
  9. */
  10. public BufferedWriter(Writer out, int sz) {
  11. super(out);
  12. if (sz <= 0)
  13. throw new IllegalArgumentException("Buffer size <= 0");
  14. this.out = out;
  15. cb = new char[sz];
  16. nChars = sz;
  17. nextChar = 0;
  18.  
  19. lineSeparator = (String) java.security.AccessController.doPrivileged(
  20. new sun.security.action.GetPropertyAction("line.separator"));
  21. }

  22. BufferedWriternewline()方法:
  23. /**
  24. * Writes a line separator. The line separator string is defined by the
  25. * system property <tt>line.separator</tt>, and is not necessarily a single
  26. * newline ('\n') character.
  27. *
  28. * @exception IOException If an I/O error occurs
  29. */
  30. public void newLine() throws IOException {
  31. write(lineSeparator);
  32. }

3.使用System.getProperty()方法:

  1. String str = "Output:"+System.getProperty("line.separator");

http://www.cnblogs.com/todoit/archive/2012/04/27/2473232.html

PrintWriter在以下以pw代替,在写client与server进行测试的通讯程序时,用pw.println(str)可以把数据发送给客户端,而pw.write(str)却不行!
查看源码发现:
pw.println(str)方法是由write方法与println()方法组成,而println()方法中执行了newLine()方法。
    而 newLine()实现中有一条out.write(lineSeparator);
    即println(str)方法比write方法中多输出了一个lineSeparator字符;  
    其中lineSeparator实现为:
    lineSeparator = (String) java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction("line.separator"));
   而line.separator属性跟据每个系统又是不一样的。
   println()方法的注释说明中提到:
  /**
   * Terminates the current line by writing the line separator string.  The
   * line separator string is defined by the system property
   * <code>line.separator</code>, and is not necessarily a single newline
   * character (<code>'\n'</code>).
   */
    在我机器上(windows)测试,默认的lineSeparator输出的十六进制为13 10即\r\n
    这样write方法修改为:write(str+"\r\n")即达到了与println(str)一样的效果了。

http://blog.csdn.net/vhomes/article/details/6650576

java输出换行的标准姿势"line.separator"的更多相关文章

  1. 【转】JAVA输出内容打印到TXT以及不同系统中如何换行

    JAVA输出内容打印到TXT以及不同系统中如何换行 http://xiyang.09.blog.163.com/blog/static/59827615201172552755293/ 2011-08 ...

  2. Java基础 println print 实现输出换行

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  3. java在文件中输出换行符

    在字符串后面添加\r\n就可以了.   或者使用newline方法: FileOutputStream fos=new FileOutputStream("c:\\11.txt") ...

  4. Java 输出文件通过 BufferedWriter.newline() 方法换行

    最近项目中需要导出文件,其实导出文件是一个挺简单的事情.但是却遇到了很奇怪的问题. 首先导出到文件需要用到 BufferedWriter.而换行则是通过 bw.newline() 方法,问题将出在 n ...

  5. 使用System.getProperty("line.separator")时没有换行问题解决

    项目中要实现替换模版txt文本里面的内容,然后生成新的文档,其中先把模版文本的内容通过创建的 BufferedReader bufReader 使用 readLine() 来一行一行读取,所以在完成替 ...

  6. java 读入换行

    java中实现换行有以下几种方法:1.使用java中的转义符"\r\n": 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果. 2.BufferedWriter的new ...

  7. java写入换行符

    写入一个文件,生成文本文档,里面写入1000行字符,但是写出来的没有换行.所以纠结,百度了下,一行完事. String crlf=System.getProperty("line.separ ...

  8. System.getProperty("line.separator") 是什么意思?

    在java中存在一些转义字符,比如"\n"为换行符,但是也有一些JDK自带的一些操作符 比如 : System.getProperty("line.separator&q ...

  9. 【python】禁止print输出换行的方法

    print后用一个逗号结尾就可以禁止输出换行,例子如下 >>> i=0 >>> while i < 3: print i i+=1 0 1 2 禁止输出换行后 ...

随机推荐

  1. java--创建多线程两种方法的比较

    [通过继承Thread] 一个Thread对象只能创建一个线程,即使它调用多次的.start()也会只运行一个的线程. [看下面的代码 & 输出结果] package Test; class ...

  2. IO操作之使用zip包压缩和解压缩文件

    转自:http://www.cdtarena.com/java.html​​Java API中的import java.util.zip.*;包下包含了Java对于压缩文件的所有相关操作. 我们可以使 ...

  3. vc根据域名获取IP地址 gethostbyname()函数

    以下是VC Socket初始化时用到的两个函数 一.WSAStartup函数                int WSAStartup                       (         ...

  4. linux popen函数

    描述 popen() 函数 用 创建管道 的 方式启动一个 进程, 并调用 shell. 因为 管道是被定义成单向的, 所以 type 参数 只能定义成 只读或者 只写, 不能是 两者同时, 结果流也 ...

  5. java调用163邮箱发送邮件

    1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...

  6. RTSP调试代码

    #ifdef _WIN32_WCE #include "stdafx.h" #endif #ifndef _WIN32_WCE #define WIN32_LEAN_AND_MEA ...

  7. Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)

    @version:Android4.3 API18 @author:liuxinming 概述               AdapterView继承了ViewGroup,它的本质是容器       ...

  8. Bernstein polynomials

    Bernstein多项式能够用来一致逼近闭区间上的连续函数. 对于[0,1]上的连续函数f(x),定义Bernstein多项式 B_n(f,x) = sum{k=0..n} f(k/n)C(k,n)t ...

  9. Java基础10 接口的继承与抽象类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...

  10. css图片上下垂直居中

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...