[解決済み] Javaを使ってインターネットからファイルをダウンロードし、保存するにはどうすればよいのでしょうか?
2022-03-20 08:06:45
質問
オンラインファイル(例えば
http://www.example.com/information.asp
) を取得し、ディレクトリに保存する必要があります。オンラインファイル(URL)を一行ずつ取得して読む方法はいくつかあると思いますが、Javaを使ってファイルをダウンロードして保存するだけの方法はないでしょうか?
どのように解決するのですか?
与える 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 バイト (存在するどのファイルよりも大きい) を許容します。
関連
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] Javaにおける静的クラス
-
[解決済み] Node.jsでファイルをダウンロードする方法(サードパーティライブラリを使用しない)?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
org.glassfish.jersey.servlet.ServletContainer
-
Error: java.lang.NoClassDefFoundError: クラス XXXX を初期化できませんでした