【Java入門】Fileのコピー方法まとめ侍ブログ編集部2017/4/32019/10/14Javaでファイル操作に使用するFileクラスはさまざまな機能があります。この記事では、ファイル操作で必要な、ファイルをコピーする方法ファイルを削除する方法java.nio.FileChannelクラスを使用してコピーする方法ディレクトリをコピーする方法ファイルの更新日時を変更する方法などの基本的な内容から、応用的な使い方に関しても解説していきます。まとめファイルをコピーする方法Javaでファイルをコピーする方法はいくつかありますが、ファイル自体を簡単にコピーできるメソッドは存在しません。ここでは、Java6でファイルをコピーする基本的な方法を2つ解説し、Java7で新しく追加されたファイルのコピー方法についても紹介します。java.io.Fileクラスを使用してコピーするファイルコピーの基本的な方法として、java.io.FileクラスのFileInputStreamクラスと、FileOutputStreamクラスを使用してコピー元のファイルに内容を書き込む方法があります。java.io.FileOutputStream」のパッケージをインポートします。以下にJava.io.Fileクラスを使用した、ファイルのコピー方法を記述します。}}サンプルでは、FileInputStreamクラスでコピー元のファイルを指定してオブジェクトを生成し、FileOutputStreamクラスでコピー先のファイルを指定してオブジェクトを生成しています。whileのループでFileInputStreamクラスのreadメソッドで内容を読み込み、FileOutputStreamクラスのwriteメソッドで内容を書き込んでいます。書き加えられた情報はflushメソッドを使用して、内容を全てファイルに書き込みます。コピー先ファイルが存在する場合は、コピー元ファイルの内容が上書きされます。java.nio.FileChannelクラスを使用してコピーするFileChannelクラスのtransferToメソッドを使用することでも、ファイルをコピーすることが可能です。transferToメソッドは第一引数にコピー開始位置を指定し、第二引数にコピーする最大バイト数を指定します。第三引数には出力先のファイルを指定することで、コピー元ファイルを参照して転送されます。java.nio.channels.FileChannel」をインポートする必要があります。以下にFileChannelクラスを使用した、ファイルのコピー方法を記述します。}}サンプルでは、Fileクラスでコピー元とコピー先ファイルを指定して、オブジェクトを生成します。次にFileChannelクラスからFileInputStreamクラスとFileOutputStreamクラスのgetChannelメソッドを使用して、ファイルに関連付けられたオブジェクトを生成します。FileChannelクラスのtransferToメソッドを使用して、コピー先ファイルにコピー元ファイルの内容がコピーされます。java.nio.file.Filesクラスを使用するJava7では新しく追加されたjava.nio.file.Filesクラスでは、より簡潔にファイルをコピーすることが可能です。2019年4月13日ファイルを削除する方法ファイルを削除するためには、Fileクラスのdeleteメソッドを使用します。2017年8月23日ディレクトリをコピーする方法ディレクトリのコピーは、Java標準の「JDK」では専用のメソッドが用意されていないため、「commons-io」パッケージをインストールする必要があります。org.apache.commons.io.FileUtils」をインポートします。Commonsの以下のサイトからダウンロードできます。https://commons.apache.org/proper/commons-io/download_io.cgi以下にcommons-ioを使用した、ディレクトリのコピー方法を記述します。}}サンプルでは、Fileクラスでコピー元とコピー先ファイルを指定して、オブジェクトを生成します。FileUtilsクラスのcopyDirectoryメソッドを使用して、第一引数にコピー元ディレクトリ、第二引数にコピー先ディレクトリのオブジェクトを指定しています。ファイルの更新日時を変更する方法ファイルの更新日時を変更する場合は、FileクラスのsetLastModifiedメソッドを使用します。time)long型の引数には、変更する時刻を指定します。以下に更新日時を変更する方法を記述します。}}サンプルではFileクラスで対象のファイルを指定し、clearメソッドで一旦内容を初期化しています。次にCalendarクラスのset関数で変更したい日時を「年,月,日,時,分,秒」で設定し、setLastModifiedのメソッドの引数に指定しています。これで対象のファイルの更新日時が変更されます。2019年5月10日まとめここでは、ファイルやディレクトリをコピーする方法や、更新日時の変更方法について説明しました。Javaでのファイルのコピー処理は、WindowsのコマンドプロンプトやLinuxのターミナルのように、コマンドを1回打ち込むだけで簡単にできるものではありません。ファイルをコピーする方法を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。