我使用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)(Path传递给另一个方法)。
我到目前为止所尝试的是:
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
如何访问创建的文件?。
答案 0 :(得分:1)
File
和FileInputStream
除了默认文件系统之外什么都不起作用。您需要的是FileDataModel
构造函数的一个版本,它采用Path
或普通版InputStream
(InputStream
可以获得Path
使用Files.newInputStream(Path)
)。
(顺便说一下,Files.lines
会返回Stream
,而不是File
,所以我不确定你在那里做什么。)