Java中独立于文件系统的文件和路径?
我正在使用Java 8编写与文件系统交互的应用程序。 为了使测试更容易,我将一个FileSystem
注入到我的方法中,可以将其换出来进行测试。 我目前在我的unit testing中使用jimfs
,在生产中使用DefaultFileSystem.getFileSystem()
。
我希望我的代码能够独立于平台并在unit testing和生产之间移植,但是,我认为标准库中的类可能会阻止这种情况。
例如, java.io.File
包含:
private static final FileSystem fs = DefaultFileSystem.getFileSystem();
似乎File
总是引用真实文件,这对我的unit testing来说是一个问题。
另一方面, Path
只是一个接口,它应该让事情变得简单,除了它有一个创建File
的方法!
File toFile();
- 哪些Java类与真实文件系统绑定?
- 我有什么选择编写
Filesystem
可移植代码?