Java中的System.lineSeparator()方法的作用

本文目錄

一、System類的概念

二、System.lineSeparator()的源碼

三、System.lineSeparator()具體含義


從方法名上可以得到,這是系統對象裏的行分隔符,那麼具體表示什麼含義呢?

一、System類的概念

在API中system類介紹的比較簡單,我們給出定義,system中代表程序所在系統,提供了對應的一些系統屬性信息和系統操作。

注意,system類不能手動創建對象,因爲構造方法被私有化(即被private關鍵字修飾),組織外界創建對象(即不能用new關鍵字生成一個對象)。System類中的都是靜態方法(static關鍵字修飾),類名訪問即可。在JDK中,有許多這樣的類。在 System 類提供的設施中,有標準輸入、標準輸出和錯誤輸出流;對外部定義的屬性和環境變量的訪問;加載文件和庫的方法;還有快速複製數組的一部分的實用方法。

二、System.lineSeparator()的源碼

從源碼中可以看出,System.lineSeparator()確實返回的是行分隔符,它會根據當前的電腦系統返回對應的行分隔符

    /**
     * Returns the system-dependent line separator string.  It always
     * returns the same value - the initial value of the {@linkplain
     * #getProperty(String) system property} {@code line.separator}.
     *
     * <p>On UNIX systems, it returns {@code "\n"}; on Microsoft
     * Windows systems it returns {@code "\r\n"}.
     *
     * @return the system-dependent line separator string
     * @since 1.7
     */
    public static String lineSeparator() {
        return lineSeparator;
    }

    private static String lineSeparator;

三、System.lineSeparator()具體含義

從JDK源碼中可以得出:從JDK1.7(含)之後纔開始有的這個方法,

在UNIX系統下,System.lineSeparator()方法返回 "\n"

在Windows系統下,System.lineSeparator()方法返回 "\r\n"

其實使用這個就實現了程序的跨平臺運行,System.lineSeparator()方法會根據當前的系統返回對應的行分隔符。從而避免了你編寫的程序在windows系統上可以運行,linux/unix系統上無法運行的情況。

 

 

完結!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章