Java如何獲得平台相關的行分隔符、路徑分隔符?


我的技術博客經常被流氓網站惡意爬取轉載。請移步原文:http://www.cnblogs.com/hamhog/p/3550194.html ,享受整齊的排版、有效的鏈接、正確的代碼縮進、更好的閱讀體驗。

【問題】

不同系統平台下的行分隔符、路徑分隔符等常常不同。如

行分隔符在windows 下是 \r\n,在Linux下面是 \n, 在Mac下是 \r
路徑分隔符在windows下是 \ ,在LInux下是 /

——來自網絡資料

如何在Java程序獲取當前平台的分隔符,以及其他系統相關的狀態呢?

【實現】

import java.util.Properties;

public class SeparatorUtils {
    
    /* system properties to get separators */
    static final Properties PROPERTIES = new Properties(System.getProperties());
    
    /**
     * get line separator on current platform
     * @return line separator
     */
    public static String getLineSeparator(){
        return PROPERTIES.getProperty("line.separator");
    }
    
    /**
     * get path separator on current platform
     * @return path separator
     */
    public static String getPathSeparator(){
        return PROPERTIES.getProperty("path.separator");
    }
}

class SeparatorUtilTest{
    public static void main (String[] args){
        System.out.println("Line separator is: " + SeparatorUtils.getLineSeparator());
        System.out.println("Path separator is: " + SeparatorUtils.getPathSeparator());
    }
}

【附注】

其他能得到的屬性:

java.version

Java 運行時環境版本

java.vendor

Java 運行時環境供應商

java.vendor.url

Java 供應商的 URL

java.home

Java 安裝目錄

java.vm.specification.version

Java 虛擬機規范版本

java.vm.specification.vendor

Java 虛擬機規范供應商

java.vm.specification.name

Java 虛擬機規范名稱

java.vm.version

Java 虛擬機實現版本

java.vm.vendor

Java 虛擬機實現供應商

java.vm.name

Java 虛擬機實現名稱

java.specification.version

Java 運行時環境規范版本

java.specification.vendor

Java 運行時環境規范供應商

java.specification.name

Java 運行時環境規范名稱

java.class.version

Java 類格式版本號

java.class.path

Java 類路徑

java.library.path

加載庫時搜索的路徑列表

java.io.tmpdir

默認的臨時文件路徑

java.compiler

要使用的 JIT 編譯器的名稱

java.ext.dirs

一個或多個擴展目錄的路徑

os.name

操作系統的名稱

os.arch

操作系統的架構

os.version

操作系統的版本

file.separator

文件分隔符(在 UNIX 系統中是“/”)

path.separator

路徑分隔符(在 UNIX 系統中是“:”)

line.separator

行分隔符(在 UNIX 系統中是“/n”)

user.name

用戶的賬戶名稱

user.home

用戶的主目錄

user.dir

用戶的當前工作目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM