簡體   English   中英

如果被告知使用系統屬性line.separator而不是硬編碼\\ n,為什么我的代碼在Windows上可以工作?

[英]If we're told to use the system property line.separator instead of hard-coding \n, why does my code work on Windows?

我們都讀過這樣的東西:

使用System.getProperty(String)方法來引用依賴於系統的項目,例如行終止符和路徑分隔符。

報價是從該網站復制的

我對\\n硬編碼,並且下面的代碼可以在Windows計算機上正常運行。

package sample;

public class Main {

    public static void main(String[] args) {
        System.out.println("hello\nworld");
    };

}

輸出為:

hello
world

我以為Java編譯器會以無聲方式將\\n替換為\\r\\n 因此,我下載了JD GUI,打開了JAR文件,並看到Hello\\nworld 誰能給我一個例子,其中\\n不起作用,而System.getProperty("line.separator")起作用嗎?

有不同的行分隔符,取決於操作系統。 閱讀此線程: \\ r和\\ n有什么區別?

如果摘錄:

更重要的是,Unix傾向於使用\\ n作為行分隔符; Windows傾向於將\\ r \\ n用作行分隔符,而Mac(直到OS 9)則傾向於將\\ r用作行分隔符。 (Mac OS X是Unix-y,因此改用\\ n;但是在某些兼容性情況下,改用\\ r。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM