Java Gold合格への道 ~Java I/O・Filesクラス~
スポンサーリンク
こんにちは。たろすです。
今回はJava I/OのFilesクラスについて説明します。
FileクラスとFilesクラスの違い
FileクラスではFileオブジェクトを生成し、メソッドを呼ぶことでファイル操作をしていました。
一方でFilesクラスはstaticメソッドのみで、引数にPathオブジェクトをとることでファイル操作します。
Filesクラスの主なメソッド
try { // ファイルのコピー System.out.println("filesディレクトリの中身(コピー前):"); Files.list(Paths.get("files")).forEach(System.out::println); System.out.println(); Files.copy(Paths.get("files/text.txt"), Paths.get("files/text2.txt")); System.out.println("filesディレクトリの中身(コピー後):"); Files.list(Paths.get("files")).forEach(System.out::println); System.out.println(); // ファイルの移動 System.out.println("tmpディレクトリの中身(移動前):"); Files.list(Paths.get("files/tmp")).forEach(System.out::println); System.out.println(); Files.move(Paths.get("files/text2.txt"), Paths.get("files/tmp/text2.txt")); System.out.println("filesディレクトリの中身(移動後):"); Files.list(Paths.get("files")).forEach(System.out::println); System.out.println(); System.out.println("tmpディレクトリの中身(移動後):"); Files.list(Paths.get("files/tmp")).forEach(System.out::println); System.out.println(); // 属性の確認 System.out.println("最終更新日時:" + Files.getAttribute(Paths.get("files/text.txt"), "lastModifiedTime")); System.out.println("最終アクセス日時:" + Files.getAttribute(Paths.get("files/text.txt"), "lastAccessTime")); System.out.println("作成日時:" + Files.getAttribute(Paths.get("files/text.txt"), "creationTime")); System.out.println("サイズ:" + Files.getAttribute(Paths.get("files/text.txt"), "size")); } catch (IOException e) { e.printStackTrace(); }
filesディレクトリの中身(コピー前): files\text.txt files\tmp filesディレクトリの中身(コピー後): files\text.txt files\text2.txt files\tmp tmpディレクトリの中身(移動前): filesディレクトリの中身(移動後): files\text.txt files\tmp tmpディレクトリの中身(移動後): files\tmp\text2.txt 最終更新日時:2022-02-01T09:12:38.929466Z 最終アクセス日時:2022-02-19T09:47:20.39287Z 作成日時:2022-02-01T08:01:59.585525Z サイズ:11