Javaを使用してインターネットからファイルをダウンロードして保存するにはどうすればいいですか? 質問する

Javaを使用してインターネットからファイルをダウンロードして保存するにはどうすればいいですか? 質問する

ディレクトリに取得して保存する必要があるオンライン ファイル (などhttp://www.example.com/information.asp) があります。オンライン ファイル (URL) を 1 行ずつ取得して読み取る方法はいくつかあることは知っていますが、Java を使用してファイルをダウンロードして保存する方法はありますか?

ベストアンサー1

与えるJava の NIO試してみる:

URL website = new URL("http://www.website.com/information.asp");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

を使用すると、ソース チャネルから読み取り、このチャネルに書き込む単純なループよりもはるかに効率的になる可能性transferFrom()があります。多くのオペレーティング システムでは、バイトを実際にコピーすることなく、ソース チャネルからファイル システム キャッシュに直接転送できます。

詳しくはこちらここ

: transferFrom の 3 番目のパラメータは、転送する最大バイト数です。Integer.MAX_VALUE最大 2^31 バイトを転送し、Long.MAX_VALUE最大 2^63 バイト (存在するどのファイルよりも大きい) を許可します。

おすすめ記事