ワイルドカード文字を使用して、ディレクトリ内のファイルを処理したいと思います。ワイルドカード文字が指定されている場合は、ワイルドカード文字と一致するファイルを処理します。指定されていない場合は、すべてのファイルを処理します。これが私のコードです
List<File> fileList;
File folder = new File("Directory");
File[] listOfFiles = folder.listFiles();
if(prop.WILD_CARD!=null) {
Pattern wildCardPattern = Pattern.compile(".*"+prop.WILD_CARD+"(.*)?.csv",Pattern.CASE_INSENSITIVE);
for(File file: listOfFiles) {
Matcher match = wildCardPattern.matcher(file.getName());
while(match.find()){
String fileMatch = match.group();
if(file.getName().equals(fileMatch)) {
fileList.add(file); // doesn't work
}
}
}
}
else
fileList = new LinkedList<File>( Arrays.asList(folder.listFiles()));
ワイルドカード文字と一致するファイルを別のファイルリストに入れることができません。plsは、ワイルドカード文字に一致するすべてのファイルを別のファイルリストに配置できるようにコードを変更するのに役立ちます。ここでは、正規表現でprop.WILD_CARDを連結します。これは任意の文字列にすることができます。たとえば、ワイルドカードがテストの場合、パターンはです。test(。)?.csv。そして、このワイルドカードに一致するファイルを保存し、ファイルリストに保存したいと思います。