Чтение файла, созданного с использованием виртуальной файловой системы 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

Как получить доступ к созданному файлу?

1 ответ

File а также FileInputStream просто не работает ни для чего, кроме файловой системы по умолчанию. То, что вам нужно, это версия FileDataModelконструктор, который принимает Path или нормальный InputStream (вы можете получить InputStream для Path с помощью Files.newInputStream(Path)).

(Кстати, Files.lines возвращает Streamне File, так что я не уверен, что ты там пытаешься делать.)

Другие вопросы по тегам