A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 波涛 中级黑马   /  2014-4-15 20:01  /  1115 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. import java.io.Writer.*;
  3. public class FileWriteDemo2 {
  4.         public static void main(String args[]){
  5.                
  6.             FileWriter fw = null;
  7.                 try{
  8.                         fw = new FileWriter("Hello.txt",true);//传递一个true参数,代表不覆盖已有的文件。并且在文件末尾处进行数据续写
  9.                         //下面的输出为什么\n\r就不管用了呢?\r\n就可以,跟顺序有关?
  10.                         fw.write("nihao\r\nxiexie");
  11.                         fw.close();
  12.                 }
  13.                 catch(IOException e){
  14.                         System.out.println("error happend!+"+e.toString());
  15.                 }
  16.         }      
  17. }
复制代码
上面是今天看到视频里面敲的代码,如上我提到的疑问,转义字符的输出跟其顺序有什么关系呢?

2 个回复

倒序浏览
本帖最后由 alucard 于 2014-4-15 20:25 编辑

\r 叫回车 Carriage Return
\n 叫新行 New Line
前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。
但是都会造成换行,我记得,和操作系统相关,在windowsxp里txt换行就是\r\n,各系统应当是
\r Mac
\n Unix/Linux
\r\n Windows
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<回车> <换行>”,即“\r \n”;Mac系统里,每行结尾是“<回车>”,即“\r” 。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

评分

参与人数 1技术分 +1 收起 理由
SyouRai_Tsk + 1

查看全部评分

回复 使用道具 举报
共同受教了。
我敲代码用\t  \n  比较多,其他的,几乎都忽略了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马