我正在寻找一种在Scala中模拟文件系统的方法。我想做类似于这样的事情:
class MyMainClass(fs: FileSystem) {
...
}
正常运行时:
val fs = FileSystem.default
main = new MyMainClass(fs)
测试时间:
val fs = new RamFileSystem
main = new MyMainClass(fs)
我的例子看起来很像Scala-IO,我以为它可能是我的答案。但是,Scala-IO中的所有核心功能似乎都不适用于FileSystem抽象。特别是,我无法从Path读取或应用Path.asInput。此外,几个抽象,如Path和Resource,似乎与FileSystem.default紧密绑定。
我还在谷歌上搜索了一些有趣的Scala-Tools内容,但该项目似乎已经停止维护。
Rob