📅  最后修改于: 2023-12-03 14:42:47.492000             🧑  作者: Mango
在Java中,FileStore是Java 7引入的新特性,它代表了一个储存设备(如磁盘)中的文件系统。FileStore提供了一些方法可以查询文件系统的容量、使用信息等;其中,isReadOnly()方法可以判断当前的FileStore是否为只读模式。
boolean isReadOnly()
该方法用于判断当前的FileStore是否为只读模式。如果是只读模式,该方法返回true;否则返回false。
下面的示例演示了如何使用FileStore的isReadOnly()方法。它会列出当前系统中所有的根目录,并判断它们是否为只读模式。
import java.io.IOException;
import java.nio.file.*;
public class FileStoreDemo {
public static void main(String[] args) {
FileSystem fs = FileSystems.getDefault();
Iterable<Path> rootDirectories = fs.getRootDirectories();
for (Path root : rootDirectories) {
try {
FileStore store = Files.getFileStore(root);
System.out.printf("Checking root %s:\n", root);
System.out.printf("- Type: %s\n", store.type());
System.out.printf("- Read only? %b\n\n", store.isReadOnly());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
输出结果为:
Checking root C:\:
- Type: NTFS
- Read only? false
Checking root D:\:
- Type: NTFS
- Read only? false
Checking root E:\:
- Type: NTFS
- Read only? false
Checking root F:\:
- Type: FAT32
- Read only? false
可以看到,在我的电脑上所有的根目录都不是只读模式。如果有根目录是只读模式,那么对应的行会显示Read only? true
。
NoSuchFileException
异常。