精华内容
下载资源
问答
  • java中的换行符

    千次阅读 2014-01-14 09:50:49
    java中写入文件时换行符是用"/r/n"还是"/n"?...使用 System.getProperty("line.separator")来获取当前OS的换行符,可以在调试情况下看到!  各系统应当是:  /r Mac  /n Unix/Linux  /r/n Wind

    java中写入文件时换行符是用"/r/n"还是"/n"?

    /r 叫回车 Carriage Return 
    /n 叫新行 New Line 
    但是都会造成换行 
    使用 System.getProperty("line.separator")来获取当前OS的换行符,可以在调试的情况下看到! 

    各系统应当是: 
    /r Mac 
    /n Unix/Linux 
    /r/n Windows

    这种输出的主要表现在用notepad打开时的显示。使用其他编辑器则没有明显变化!!

    在winodws下,如果用"/n",则会显示成如下:

    image

    如果使用"/r/n",则会显示出换行的效果。

    image

     



    展开全文
  • ------------android培训、java培训、期待与您交流...获取当前系统的换行符  注意: 1,在将流写入文件时,换行应根据操作系统的不同来决定。 2,在程序中我们应尽量使用System.getProperty("line.separator")来获取当

    ------------android培训java培训、期待与您交流!------------
     
    1,“回车”(Return)和“换行”(Newline

    /**
    获取当前系统的换行符
     注意:
    1,在将流写入文件时,换行应根据操作系统的不同来决定。
    2,在程序中我们应尽量使用System.getProperty("line.separator")来获取当前系统的换行符,而不是写\r\n或\n。
    3,当我们在java控制台输出的时候,\r\n和\n都能达到换行的效果。
    */
    class LineSeparator{
        public static void main(String[] args) {
            if(System.getProperty("line.separator").equals("\r\n"))  {
                        System.out.println("\\r\\n is for windows");
             } else if(System.getProperty("line.separator").equals("\r")) {
                        System.out.println("\\r is for Mac");
             } elseif(System.getProperty("line.separator").equals("\n")) {
                        System.out.println("\\n is for Unix/Linux");
             }
            System.out.println("aa\nbb");//\n即为换行。
            System.out.println("aaa\rbb");//特别注意输出为:bba 因为\r是回车,即光标返回本行首开始打印。
            System.out.println("aa\r\nbb");//\r\n即为windows系统按下Enter键的操作,分两步,先回车后换行.
        }
    }
      '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。回车和换行是两回事。通常用的Enter是两个加起来。Unix系统里,每行结尾只有“<换行>”,即“\n”Windows系统里面,每行结尾是<回 车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”即“\r”。这样导致的直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    由以上分析可知,java的换行符可以是 '\n''\r\n''\r',即可能是两个字符也可能是一个字符。而在实际编程中最好用System.getProperty("line.separator")来获取当前平台的换行符,这样跨平台性更好。

    回车和换行的有趣历史

            在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

            这就是“换行”和“回车”的来历,'\r'和'\n'也就是(回车”return和“换行”newline)的首字母。

            后来,计算机发明了,这两个概念也就被搬到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

            Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<回 车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>” 即“\r”。一个直接后果是,Unix/Mac系统下的文件在Windows里打 开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    2,
    Javai=i++的特殊处理

    class  Add{
        public staticvoid main(String[] args){
                int x=0,z=0;
                for (inty=100;y>100 ;y-- ){
                            x=x++;
                            z=++z;
                }
                System.out.println("x="+x+",z="+z);
         }
    } 
    在处理i=i++时,java虚拟机和VC的处理机制不同,利用javap -c Add命令进行反编译,得到下图,由此可分析出JVM的实际运行过程。

    图片
    解释上图反编译出来的字节码指令内容:

    0:把语句x=0中的常量0压入操作栈栈顶,此时栈顶为0;

    1:弹出此时栈顶int型常量(即0)存储到位置为1的局部变量(即变量x)中,此时x=0;

    2:把语句z=0中的常量0压入操作栈栈顶 ,此时栈顶为0;

    3: 弹出此时栈顶int型常量(即0)存储到位置为2的局部变量(即变量z)中,此时z=0;

    4:把语句y=0中的常量0压入操作栈栈顶 ,此时栈顶为0;

    5: 弹出此时栈顶int型常量(即0)存储到位置为3的局部变量(即变量y)中,此时y=0;

    6:从位置为3的局部变量(即变量y)中取出int类型的值装载到操作栈栈顶 ;

    7:将byte类型的常量(即100)转换为int类型的常量 ,然后压入操作栈栈顶 ,此时栈顶为100;

    9:条件转移指令,依次弹出栈顶两个元素,执行if(第一个元素>第二个元素)条件判断,如果判断结果为true则进行下一步(即第12步),否则转移到第28步。

    12:从位置为1的局部变量(即变量i)中取出int类型的值(即0)装载到栈顶 ,此时栈顶为0;

    13:变量1(即x)完成自增操作,即此时x=x+1;

    16:把此时栈顶值(即0)存储到变量1中,此时x=0;
          (注意:此步操作结果实际覆盖掉了变量自增产生的值,正是此步导致了变量x最后的输出为x=0,这也正是有别VC的地方)

    17:变量2(即z)完成自增操作,即此时z=z+1;

    20:从位置为2的局部变量(即变量z)中取出int类型的值(即1)装载到栈顶  ,此时栈顶为1;

    21:把此时栈顶值存入到变量2(即z)中,此时z=1;

    22:变量3(即y)完成自增操作,此时y=y+1;

    25:goto跳转到6步,进行循环;

    28:得到结果,即为x=0,z=100。 


    ------------android培训java培训、期待与您交流!------------

    详情请查看:http://edu.csdn.net/heima 


    展开全文
  • java中写入文件时换行符是用"/r/n"还是"/n"? 原文:java中写入文件时换行符是用"/r/n...使用 System.getProperty(“line.separator”)来获取当前OS的换行符,可以在调试情况下看到! 各系统应当是: /r Mac /n ...


          java中写入文件时换行符是用"/r/n"还是"/n"?


    原文:java中写入文件时换行符是用"/r/n"还是"/n"?

    /r 叫回车 Carriage Return
    /n 叫新行 New Line
    但是都会造成换行
    使用 System.getProperty(“line.separator”)来获取当前OS的换行符,可以在调试的情况下看到!

    各系统应当是:
    /r Mac
    /n Unix/Linux
    /r/n Windows

    这种输出的主要表现在用notepad打开时的显示。使用其他编辑器则没有明显变化!!

    在winodws下,如果用"/n",则会显示成如下:

    如果使用"/r/n",则会显示出换行的效果。

    展开全文
  • java中写入文件时换行符是用"\r\n"还是"\n"?...使用 System.getProperty("line.separator")来获取当前OS的换行符,可以在调试情况下看到! 各系统应当是: \r Mac \n Unix/Linux \r\n Windows

    java中写入文件时换行符是用"\r\n"还是"\n"?

    \r 叫回车 Carriage Return
    \n 叫新行 New Line
    但是都会造成换行
    使用 System.getProperty("line.separator")来获取当前OS的换行符,可以在调试的情况下看到!

    各系统应当是:
    \r Mac
    \n Unix/Linux
    \r\n Windows

    这种输出的主要表现在用notepad打开时的显示。使用其他编辑器则没有明显变化!!

    在winodws下,如果用"\n",则会显示成如下:

    image

    如果使用"\r\n",则会显示出换行的效果。

    image

    展开全文
  • 使用 System.getProperty(“line.separator”)来获取当前OS的换行符,可以在调试情况下看到! 各系统应当是: /r Mac /n Unix/Linux /r/n Windows 这种输出主要表现在用notepad打开时显示。使用其他编辑器则...
  • ava是一个跨平台语言,因为如果想写一个跨平台软件,有些东西就需要考虑,例如换行。...通常建议使用line.separator的系统属性 System.getProperty("line.separator")来获取当前OS的换行符,可
  • 回车,换行

    2014-09-22 17:01:42
    \r 回车 Carriage Return  \n 新行 New Line  但是都会造成换行  ...使用System.getProperty("line.separator")来获取当前OS的换行符  各系统取得值  \r Mac  \n Unix/Linux \r\n Windows
  • java中\r与\n还有\r\n区别

    千次阅读 2012-01-12 11:30:51
    \r 叫回车 Carriage Return ...使用 System.getProperty("line.separator")来获取当前OS的换行符系统应当是: \r Mac \n Unix/Linux \r\n Windows 注明:QQ技术交流群:108614806 感兴趣加一下。
  • java 换行

    2016-02-15 11:49:51
    )来获取当前OS的换行符各系统是\r Mac\n Unix/Linux\r\n Windows   注意系统的差异   \r' ASCII码为13 是回车,将当前位置移到本行头print("xx\ryy\n"); xx将不会被输出 pyt...
  • 第1章 声明和初始化 基本类型 1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型大小? 1.3 因为C语言没有精确定义类型...7.6 我使用fgets将文件所有读入一个数组,为什么读入每一都是...
  • 实例270——获取当前系统的所有进程 实例271——实现应用程序在系统中只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用...
  • 可我找不到任何方法来声明这样函数——感觉我需要一个返回指针函数,返回指针指向又是返回指针函数……,如此往复,以至无穷。 12  数组大小 13 1.23 能否声明和传入数组大小一致局部数组,或者由...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    《你必须知道495个C语言问题》以问答形式组织内容,讨论了学习或使用C语言过程中经常遇到一些问题。书中列出了C用户经常问400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...
  • (6)选择“换行符”,插入“\n”,表示回车符。 ④、“替换为”组合框保持空,表示删除查找到内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0108 使用Odd函数改变StringGrid组件奇偶颜色 72 0109 使用Pred函数获取顺序类型表达式前驱 72 0110 使用Succ函数获取顺序类型表达式后继 73 4.4 进制转换相关函数 73 0111 如何将二进制转换为八...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【隔行插入】 在当前工作表中允许从M到N,隔X插入Y,并允许是否需复制标题Z。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题行数以及相隔行数、插入行数等。并...
  • 【隔行插入】 在当前工作表中允许从M到N,隔X插入Y,并允许是否需复制标题Z。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题行数以及相隔行数、插入行数等。并能...
  • 【隔行插入】 在当前工作表中允许从M到N,隔X插入Y,并允许是否需复制标题Z。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题行数以及相隔行数、插入行数等。并...
  • 【隔行插入】 在当前工作表中允许从M到N,隔X插入Y,并允许是否需复制标题Z。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题行数以及相隔行数、插入行数等。并...

空空如也

空空如也

1 2 3 4
收藏数 61
精华内容 24
关键字:

获取当前系统的回车换行符