我的技術博客經常被流氓網站惡意爬取轉載。請移步原文: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 |
用戶的當前工作目錄 |
