0

我正在尝试创建一个程序,该程序返回文件中所有视频文件和文件夹的名称。我已经找到了视频文件的模式并且工作正常

String pattern = "(^\\w[ .A-z0-9_-]+(\\.mp4$|\\.avi$|\\.mkv$))";

但我坚持如何阅读文件夹,我尝试过的所有内容都有模式阅读文件夹,还有其他文件。由于文件夹名称可能在任何地方都有点,因此很难通过扩展来隔离。关于如何只读文件夹的任何想法?

4

1 回答 1

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));
}
于 2012-08-28T07:52:36.687 回答