2016-04-26 115 views
0

我已经使用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 

如何访问创建的文件?

回答

0

FileFileInputStream只对默认文件系统不起作用。你需要的是FileDataModel的构造函数的一个版本,它需要Path或正常的InputStream(你可以使用Files.newInputStream(Path)获得InputStreamPath)。

(顺便说一句,Files.lines返回Stream,不是File,所以我不知道你想那里做什么?)