我使用此代碼(在BalusC的幫助下)查找文件名及其擴展名。
如果你有正確的正則表達式,只需在這裏插入並按照你的要求添加其他代碼即可。
public static void main(String[] args){
File[] files = new File("temp").listFiles();
showFiles(files);
}
public static void showFiles(File[] files) {
for (File file : files) {
if (file.isDirectory()) {
System.out.println("Directory: " + file.getName());
showFiles(file.listFiles());
} else {
System.out.println("File: " + file.getName());
getFileNameAndSuffix(file);
}
}
}
public static void getFileNameAndSuffix(File file)
{
int index = file.getName().lastIndexOf('.');
System.out.println(file.getName().substring(0, index));
System.out.println(file.getName().substring(index));
}
我不知道這是否是故意的,但你的A-Z有一個大寫字母「A」和小寫字母「Z」 –
你必須調用'File.isDirectory()'方法。 – adatapost
或保留一個已知的擴展名列表,並使用負面匹配(Gross,unmaintainable,and unreadable。) – FrankieTheKneeMan