Java 文件系统
2018-02-04 17:34 更新
Java IO教程 - Java文件系统
Java 7引入了新的输入/输出2(NIO.2)API并提供了一个新的 I/O API。
它向Java类库添加了三个包:java.nio.file,java.nio.file.attribute和java.nio.file.spi。
文件系统
FileSystem类的对象表示Java程序中的文件系统。
FileSystem对象用于执行两个任务:
- Java程序和文件系统之间的接口。
- 一个工厂用于创建许多类型的文件系统相关对象和服务。
FileSystem对象与平台相关。
创建文件系统
要获取默认的FileSystem对象,我们需要使用FileSystems类的getDefault()静态方法,如下所示:
FileSystem fs = FileSystems.getDefault();
FileSystem由一个或多个FileStore组成。FileSystem的getFileStores()方法返回FileStore对象的Iterator。
FileSystem的getRootDirectories()方法返回Path对象的迭代器,它表示到所有顶级目录的路径。
FileSystem的isReadOnly()方法告诉我们是否获得对文件存储的只读访问权限。
例子
以下代码显示如何使用FileSystem对象。
import java.nio.file.FileStore; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Path; import java.io.IOException; public class Main { public static void main(String[] args) { FileSystem fs = FileSystems.getDefault(); System.out.println("Read-only file system: " + fs.isReadOnly()); System.out.println("File name separator: " + fs.getSeparator()); for (FileStore store : fs.getFileStores()) { printDetails(store); } for (Path root : fs.getRootDirectories()) { System.out.println(root); } } public static void printDetails(FileStore store) { try { String desc = store.toString(); String type = store.type(); long totalSpace = store.getTotalSpace(); long unallocatedSpace = store.getUnallocatedSpace(); long availableSpace = store.getUsableSpace(); System.out.println(desc + ", Total: " + totalSpace + ", Unallocated: " + unallocatedSpace + ", Available: " + availableSpace); } catch (IOException e) { e.printStackTrace(); } } }
上面的代码生成以下结果。
以上内容是否对您有帮助:
← Java 文件锁
更多建议: