前提
Javaの勉強をしています。
実現したいこと
- 特定のファイル拡張子”.xlsx”と".jfif"を含むファイルのみ削除してからディレクトリとファイルを表示したい。
該当のソースコード
java
1import java.io.File; 2 3public class Recursion { 4 public static void main(String[] args) { 5 String filePath = "C:\\Work\\aaa"; 6 File target = new File(filePath); 7 recurse(target); 8 9 } 10 11 private static void recurse(File target) { 12 File[] files = target.listFiles(); 13 for (File file : files) { 14 if (file.isDirectory()) { 15 16 System.out.println("D:" + file.getName()); 17 recurse(file); 18 19 } else { 20 // 拡張子ファイルの取得 21 String stringFile =file.getName().substring(file.getName().lastIndexOf(".")); 22 23 if(stringFile == ".xlsx" || stringFile == ".jfif") { 24 file.delete(); 25 26 } 27 28 } 29 } 30 } 31 // System.out.println("F:" + file.getName()); 32 } 33
加工したいフォルダ内容
txt
1C:\Work\aaa\a1.txt 2C:\Work\aaa\a2.txt 3C:\Work\aaa\bbb 4C:\Work\aaa\bbb\b1.txt 5C:\Work\aaa\bbb\ccc 6C:\Work\aaa\bbb\ccc\zzz.jfif 7C:\Work\aaa\bbb\zzz.jfif 8C:\Work\aaa\ppp.xlsx 9C:\Work\aaa\yyy 10C:\Work\aaa\yyy\xxx 11C:\Work\aaa\yyy\xxx\zzz.jfif 12C:\Work\aaa\yyy\zzz.jfif 13C:\Work\aaa\zzz 14C:\Work\aaa\zzz\ppp.xlsx 15C:\Work\aaa\zzz\z1.txt 16C:\Work\aaa\zzz.jfif
試したこと
.
拡張子を判断をするメソッドがわからなかったので、file型を一度string型にしてから、contains()メソッドで.xlsxとjfifを含むものをif文でフィルターして削除を試みてます。
そこから.xlsxとjfifを含むものをString型にできたのですが、その後の
java
1 if(stringFile == ".xlsx" || stringFile == ".jfif") {
でfalseになり内部の処理が行われず、ファイル削除もできません。
回答1件
あなたの回答
tips
プレビュー