我一直認爲line.separator
和\n
和做的事情是一樣的,它是。但我注意到,這兩個值實際上是不一樣的(也許甚至還沒有接近?)當我測試此代碼:「line.separator」的實際值是多少?
String str1 = System.getProperty("line.separator");
String str2 = "\n";
System.out.println(str1.equals(str2)); // output:false (as expected)
然後我檢查兩者的長度:
System.out.println(str1.length()); //output: 2
System.out.println(str2.length()); //output: 1
知道爲什麼str1.length()
是2
,我嘗試這樣做:
System.out.println("**"+str1.charAt(0)+"**");
輸出:
**
System.out.println("##"+str1.charAt(1)+"##");
輸出:
##
##
所以我注意到,在line.separator
實際換行符是第二個字符。那麼第一個索引中的值是多少,因爲它應該打印****
(atleast),而其打印**
取而代之?
它在不同的操作系統上有所不同。 Windows是'\ r \ n'。 –