我有一个名为data.dat
的文件,我想将其加载到Vaadin中的byte[]
。这是一个数据文件,我需要根据用户的输入加载然后进行操作。
我试过了:
String basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();
FileResource resource = new FileResource(new File(basepath + MY_DATA_FILE));
问题在于我不知道如何操纵resource
来提取byte[]
。我看到lots of information for how to put images and so on to the UI components,how to stream a user generated PDF等等,但我似乎无法找到有关如何加载您自己的数据文件的示例,然后您可以在代码中操作...
答案 0 :(得分:5)
从vaadin的文档中你有:
java.io.File getSourceFile()
Gets the source file.
或
DownloadStream getStream()
Gets resource as stream.
在DownloadStream
:
java.io.InputStream getStream()
Gets downloadable stream.
因此,您可以轻松操作File
或InputStream
来阅读FileResource
例如在Java 8中:
byte[] bytes = Files.readAllBytes(Paths.get(resource.getSourceFile().getAbsolutePath()));