今回はファイル操作です。
Apache CommonsのFileUtilsを使えば、ファイルに関するいろいろな操作ができます。
Apache Commonsの入手
mavenを使って入手
pom.xmlは、こんな感じ。
今回はファイル操作なので、Apache Commonsの中でも「Apache Commons IO」が対象。
1 2 3 4 5 6 | <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.13.0</version> </dependency> |
手動で入手
手動で入手するのであれば、以下のjarを入手することになります。
「Apache Commons IO」は依存関係がないので、手動でも簡単に手に入れられますね。
https://mvnrepository.com/repos/central
- commons-io-2.13.0.jar
※2023年6月現在です。
ちなみに、Apache License 2.0で提供されています。
Apache CommonsのFileUtilsを使ってファイルを操作するサンプル
FileUtilsを使って、テキストファイルを読み書き。
また、ファイルのダウンロード、一時ディレクトリの取得、ファイルサイズを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import java.io.File; import java.io.IOException; import java.net.URL; import java.util.List; import org.apache.commons.io.FileUtils; public class FileUtilTest { public static void main(String[] args) throws IOException { //ファイルの読み込み File file = new File("C:\\work\\a.txt"); List<String> lineList = FileUtils.readLines(file, "UTF-8"); for (String line : lineList) { System.out.println(line); } //ファイルの書き込み File outputFile = new File("C:\\work\\output.txt"); FileUtils.writeLines(outputFile, lineList); //HTMLファイルをダウンロード File htmlFile = new File("c:\\work\\test.html"); FileUtils.copyURLToFile(new URL("https://www.javalife.jp"), htmlFile); //一時ディレクトリを取得 File tempDir = FileUtils.getTempDirectory(); System.out.println(tempDir.getPath()); //ファイルのサイズを取得 long size = FileUtils.sizeOf(file); System.out.println(size + "B"); } } |
実行結果
テキストファイルの内容などが表示されます。
1 2 3 4 5 6 7 8 | aaaaaa1 aaaaaa2 aaaaaa3 aaaaaa4 aaaaaa5 aaaaaa6 C:\Users\aaa\AppData\Local\Temp 54B |
サンプルの解説
この例では、テキストファイルの読み書き、ダウンロード等をしています。
使い方は簡単で、基本的にはjava.io.Fileクラスとのやりとりになります。
他にもファイル・ディレクトリのコピー、移動、削除など、同じような感じで使うことができます。