回答編集履歴

1

考慮漏れ

2021/01/06 11:10

投稿

TN8001
TN8001

スコア9855

test CHANGED
@@ -146,7 +146,7 @@
146
146
 
147
147
  File dir = new File("image"); // 該当フォルダ
148
148
 
149
- File[] files = dir.listFiles(); // 該当フォルダのファイルを列挙
149
+ File[] files = dir.listFiles(); // 該当フォルダのフォルダ・ファイルを列挙
150
150
 
151
151
 
152
152
 
@@ -154,18 +154,24 @@
154
154
 
155
155
  for (File file : files) {
156
156
 
157
+ if (file.isDirectory()) continue; // フォルダは無視
158
+
159
+
160
+
157
- String fileName = file.getName(); // ファイル
161
+ String fileName = file.getName(); // 名
162
+
158
-
163
+ int index = fileName.lastIndexOf(".");
164
+
165
+ if (index == -1) continue; // 拡張子がなければ無視
166
+
167
+
168
+
159
- String ext = fileName.substring(fileName.lastIndexOf(".")); // ファイル拡張子(.込み)
169
+ String ext = fileName.substring(index); // 拡張子(.込み)
160
-
170
+
161
- if (exts.contains(ext)) images.add(file);
171
+ if (exts.contains(ext)) images.add(file); // 拡張子が画像だったら追加
162
172
 
163
173
  }
164
174
 
165
- // ↑↓同じ意味 ワンライナー
166
-
167
- // List<File> images = Arrays.asList(dir.listFiles((d, name) -> exts.contains(name.substring(name.lastIndexOf(".")).toLowerCase())));
168
-
169
175
 
170
176
 
171
177