从当前的Jar创建NIO 2 FileSystem

时间:2016-09-25 09:57:17

标签: java jar nio

我试图从当前的Jar创建table.insert({id: 1, counter: 1}, {conflict: function(id, oldVal, newVal) { return newVal.merge({counter: oldVal('counter').add(1)}) }}) 来提取其中的内容。但是,我无法以任何方式获得所需的Jar URI。这可能是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

我的目标是将一组原生文件从当前Jar复制到已知位置。通过这种方式,我首先尝试从当前Jar创建一个FileSystem对象,以便使用FileSystem的复制操作。但是,它看起来并不容易,为了实现这一点,我将每个资源都作为流并将它们复制到当前文件系统。

for (String nativeFile : nativeFiles) {
    InputStream inputStream = IOHelper.class.getResourceAsStream("/" + nativeFile);
    Path nativePath = dataDir.resolve(nativeFile);

    if (Files.notExists(nativePath)) {
        Files.createDirectories(nativePath.getParent());
        Files.copy(inputStream, nativePath);
    }
}