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