[解決済み] Javaでファイルをコピーする標準的な簡潔な方法?
2022-03-23 16:45:13
質問
Javaでファイルをコピーする唯一の方法が、ストリームを開き、バッファを宣言し、1つのファイルを読み、それをループし、もう1つのスチームに書き出すというものであることが、いつも気になります。 ウェブには、この種のソリューションの類似した、しかしまだわずかに異なる実装が散見されます。
Java言語の範囲内で(つまりOS固有のコマンドを実行しない)もっと良い方法はないでしょうか? おそらく、信頼できるオープンソースのユーティリティパッケージで、少なくともこの基本的な実装を不明瞭にして、1行のソリューションを提供するようなものでしょうか?
解決方法は?
上記のtoolkitが言及しているように、Apache Commons IOは、具体的には、以下のようになります。 ファイルユーティリティ . copyFile() これは重い仕事をすべて処理してくれます。
また、追記として、最近のFileUtilsのバージョン(2.0.1リリースなど)では、ファイルコピーにNIOを使用する機能が追加されていることに注意してください。 NIOはファイルコピーのパフォーマンスを大幅に向上させることができる これは、NIOルーチンが、Javaレイヤーを通してバイトの読み書きをするのではなく、OS/ファイルシステムに直接コピーを委ねることが大きな理由です。 そのため、パフォーマンスを求めるのであれば、FileUtilsの最新バージョンを使用しているかどうかを確認する価値があるかもしれません。
関連
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
Spring Boot による HTTPS アクセスの設定
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] Gitで1つのファイルの作業コピーの変更を元に戻す?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
jd-gui Java Exceptionが発生しました。
-
SpringBootApplication を型解決できない。
-
javaの模造品QQ WeChatのチャットルーム
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
テストが見つかりませんでした
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)