簡體   English   中英

如何在Java中獲得Unix文件權限

[英]How to get Unix file rights in Java


有沒有辦法讀取/設置文件的Unix權限,並檢查進程是否具有Java中的用戶/組/其他權限? 我知道這不是JNI的問題,但我需要沒有JNI的跨平台解決方案。

Java 7將在今年夏天發布,使用java.nio.file.attribute包中的類,這是可能的。 請參閱JDK 7 API文檔

Java 6及更早版本的標准庫中沒有任何內容可以使用Unix文件系統權限。

因此,通過使用Java 7 API,您不需要JNI,但Voo表示它不是跨平台的,因為Windows和其他非Unix系統不支持Unix文件權限。

Set<PosixFilePermission> filePerm = null;
try {
    filePerm = Files.getPosixFilePermissions(Paths.get("/app/data/abc.txt"));
} catch (IOException e) {
    e.printStackTrace();
}
String permission = PosixFilePermissions.toString(filePerm);

從Java 1.7支持,而不是跨平台。

目前java中沒有通用文件訪問權限管理API。 它針對未來的Java版本。 至於現在我們沒有更多的File.canRead()/ canWrite()/ canExecute()和File.setExecutable ......

暫無
暫無

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

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