我正在尝试创建一个程序,该程序返回文件中所有视频文件和文件夹的名称。我已经找到了视频文件的模式,它工作正常
String pattern = "(^\\w[ .A-z0-9_-]+(\\.mp4$|\\.avi$|\\.mkv$))";
但我坚持如何阅读文件夹,我尝试的一切都有模式阅读文件夹,但也有其他文件。由于文件夹名称可能在任何地方都有点,因此难以通过扩展名隔离。关于如何只阅读文件夹的任何想法?
答案 0 :(得分:1)
我使用此代码(在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));
}