我用JIMFS创建了一个VFS。
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 与虚拟 FS 混合在一起。
Error: Exception in thread "main" java.lang.UnsupportedOperationException
如何访问创建的文件?.
File
和FileInputStream
除了默认文件系统之外,什么都不起作用。你需要的是一个采用Path
或普通InputStream
的FileDataModel
构造函数版本(你可以使用Files.newInputStream(Path)
获得Path
的InputStream
)。
(顺便说一下,Files.lines
返回一个Stream
,而不是一个File
,所以我不确定你想在那里做什么。