2017-10-30 10 views
0

可能ですか?基本的に私は、によって表されるローカルバイナリファイルがあります:私はByteBuffer Sを使用してこのファイルを読みたいファイル(file:/// path/to/file)を含むjava.net.URLからjava.nio.FileChannelへ

file:///path/to/myfile.dat

を、他の言葉で、私はそれを行うために指定されたURLからFileChannelが必要と考えています。

希望ですか?

+0

@ JohnD URLです。それはスキームとスキーム依存の部分を持っています。 – EJP

+1

@JohnDブラウザで試したところ、ローカルファイルを開くことができます。正しいURLには2(私の悪い)=> 'file:/// path/to/mylocalfile.dat'の代わりに3 '/'があります(Obs:3の代わりに2つの '/'が間違っていたオリジナルURLを修正しました) – LatencyFighter

答えて

1

はい、URLからパスを取得し、FileChannel.open()で開きます。

+1

URL.getPath()またはURL.getfile()を呼び出すと、有効なファイル名が返されません。すべてのパーセントをエスケープして、URLのパス部分を返します。 URLは 'Paths.get(url.toURI())'でPathに変換する必要があります。 – VGR

関連する問題