0
public class Sorter {
String dir1 = ("C:/Users/Drew/Desktop/test");
String dir2 = ("C:/Users/Drew/Desktop/");

public void SortingAlgo() throws IOException {

// Declare files for moving
File sourceDir = new File(dir1);
File destDir = new File(dir2);

//Get files, list them, grab only mp3 out of the pack, and sort

File[] listOfFiles = sourceDir.listFiles();

if(sourceDir.isDirectory()) {

for(int i = 0; i < listOfFiles.length; i++) {

    //list Files
    System.out.println(listOfFiles[i]);

    String ext = FilenameUtils.getExtension(dir1);
    System.out.println(ext);



    }
}

}

}

プログラムで .mp3 のみを除外しようとしています。私は明らかに初心者で、Google とこの Web サイトからいくつかのものをコピーしようとしました。ディレクトリ (sourceDir) を設定し、それらのフィルター処理されたファイルを独自のフォルダーに移動するにはどうすればよいですか?

4

3 に答える 3

1

GLOB またはカスタム フィルターを使用する NIO.2 アプローチが最もクリーンなソリューションだと思います。添付のリンクで GLOB またはフィルターの例を使用する方法について、この例を確認してください。

Path directoryPath = Paths.get("C:", "Program Files/Java/jdk1.7.0_40/src/java/nio/file");

if (Files.isDirectory(directoryPath)) {
    try (DirectoryStream<Path> stream = Files.newDirectoryStream(directoryPath, "*.mp3")) {
        for (Path path : stream) {
            System.out.println(path);
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

コンテンツの一覧表示とディレクトリ フィルタリングの詳細については、NIO.2 でのディレクトリ コンテンツの一覧表示とフィルタリングを参照してください。

于 2014-01-20T07:55:32.730 に答える