有没有办法为类路径中存储在jar中的文件打开AsynchronousFileChannel
?
如果我尝试直接创建Path
,我会FileSystemNotFoundException
。
如果我先创建文件系统:
URI uri = ...; //get the URI of a file in a jar
String[] array = uri.toString().split("!");
FileSystem fs = FileSystems.newFileSystem(URI.create(array[0]), Collections.emptyMap());
Path path = fs.getPath(array[1]);
AsynchronousFileChannel ch = AsynchronousFileChannel.open(path);
它与UnsupportedOperationException
爆炸:(
有没有办法实现这个目标?
我的项目是Spring(并且使用ClassPathResource
),因此Spring特定的解决方案可以工作。
答案 0 :(得分:1)
JDK中的zip文件系统提供程序不支持异步I / O,因此这就是抛出UOE的原因。