从包含文件的java.net.URL(file:///path/to/file)到java.nio.FileChannel
可能吗?基本上,我有一个本地二进制文件,表示为:从包含文件的java.net.URL(file:///path/to/file)到java.nio.FileChannel,java,real-time,nio,bytebuffer,Java,Real Time,Nio,Bytebuffer,可能吗?基本上,我有一个本地二进制文件,表示为: file:///path/to/myfile.dat 我想使用ByteBuffers来读取此文件,换句话说,我相信我需要一个来自给定URL的FileChannel 有希望吗?是的,只需从URL中获取路径,然后用FileChannel.open()@JohnD打开它,它就是一个URL。它有一个方案和一个方案相关的部分。@JohnD我用浏览器试过了,我可以打开一个本地文件。正确的URL有3个“/”而不是2个(我的坏)=>file:///path/to
file:///path/to/myfile.dat
我想使用ByteBuffer
s来读取此文件,换句话说,我相信我需要一个来自给定URL的FileChannel
有希望吗?是的,只需从URL中获取路径,然后用
FileChannel.open()
@JohnD打开它,它就是一个URL。它有一个方案和一个方案相关的部分。@JohnD我用浏览器试过了,我可以打开一个本地文件。正确的URL有3个“/”而不是2个(我的坏)=>file:///path/to/mylocalfile.dat
(Obs:I修复了我的原始URL错误地使用了两个“/”而不是3)调用URL.getPath()或URL.getfile()将不会返回有效的文件名。它将返回URL的路径部分,并包含所有百分比转义。URL应转换为具有Path.get(URL.toURI())
的路径。