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 に答える