簡體   English   中英

Java.io.File.canRead()與Java.nio.Files.isReadable()與Java.io.FilePermission

[英]Java.io.File.canRead() vs Java.nio.Files.isReadable() vs Java.io.FilePermission

這三個設置或檢查文件是否可讀/可寫的區別是什么? 我有點在這里的條款之間迷路了。

我特別需要的是以可讀模式打開文件? 選擇哪一個? 如果答案是nio.Files我正在使用不包含它的JVM 1.6,那么我該如何克服呢?

File.canRead在其實現中使用FilePermission。 Files.isReadable在JDK 1.7中引入的Java NIO中,它具有完全不同的實現,但應給出相同的結果。

如果僅需要檢查是否具有讀取文件的權限,請使用File.canRead,但如果要使用它,則只需將其打開並處理IOException(如果權限被拒絕或發生其他錯誤)。

FilePermissionJava安全性規范的一部分。 如果您不使用它,請不必擔心。 另外兩個還測試操作系統授予的權限,這是完全不同的事情。

在99%的情況下,您不需要任何它們:只需嘗試打開文件並在發生IOException時對其進行處理。 這樣可以避免計時窗口問題。

暫無
暫無

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

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