阅读使用虚拟文件系统创建的文件JIMFS
问题描述:
我已经使用JIMFS创建了VFS。阅读使用虚拟文件系统创建的文件JIMFS
FileSystem virtualFS = Jimfs.newFileSystem(Configuration.unix());
Path virtualPath = virtualFS.getPath("resources/virtualFolder");
Files.createDirectories(virtualPath);
Path refData = virtualPath.resolve("refData.csv");
System.out.println(refData);
Files.write(refData, ImmutableList.of(sData),StandardCharsets.UTF_8);
我想读另一个方法(路径传递给另一个方法)的文件(refData.csv)。
我曾尝试到现在为止是:
1: new FileDataModel(new FileInputStream(Files.lines(refData)));
2: new FileDataModel((File) Files.lines(refData));
3: new FileDataModel(new File(refData));
不幸的是,所有这些工作,截至目前的。我明白了,我将默认FS与Virtual FS混合使用。
Error: Exception in thread "main" java.lang.UnsupportedOperationException
如何访问创建的文件?
答
File
和FileInputStream
只对默认文件系统不起作用。你需要的是FileDataModel
的构造函数的一个版本,它需要Path
或正常的InputStream
(你可以使用Files.newInputStream(Path)
获得InputStream
的Path
)。
(顺便说一句,Files.lines
返回Stream
,不是File
,所以我不知道你想那里做什么?)