簡體   English   中英

比較java中的文件列表

[英]Compare a List of files in java

我正在嘗試實現一個 JavaFx 應用程序,其中比較 mp4 的文件名和 png 的文件名,如果它們相等或一個包含另一個,則現在有一個 sysout。

到目前為止,我正在使用兩個循環來瀏覽文件列表,並且我正在檢索這兩個文件,但是有一個問題:我的 png 比 mp4 多,這就是為什么我收到 ArrayOutOfBounds 異常。 我真的找不到解決方法。 問題在於最后的 if 語句。

public void videoLoop() {
    File videoDirectory = new File("C:\\Users\\Hasan\\OneDrive\\Desktop\\Smart-Moniesta\\Smart-Moniesta-Raspberry-Pi\\src\\ressources\\videos");
    File[] listOfFiles = videoDirectory.listFiles();
    File imgDirectory = new File("C:\\Users\\Hasan\\OneDrive\\Desktop\\Smart-Moniesta\\Smart-Moniesta-Raspberry-Pi\\src\\ressources\\images");
    File[] imglistOfFiles = imgDirectory.listFiles();

    int i = 0;
    int j = 0;

    for (i = 0; i <= listOfFiles.length - 1; i++) {
        if (listOfFiles[i].isFile()) {
            System.out.println("File aus der i Schleife " + listOfFiles[i].getName());
        }
    }
    for (j = 0; j <= imglistOfFiles.length - 1; j++) {
        if (imglistOfFiles[j].isFile()) {
            System.out.println("File Bilder aus der j Schleife: " + imglistOfFiles[j].getName());
        }
    }
    if (listOfFiles[i].getName().contains(imglistOfFiles[j].getName())) {
        System.out.println("Vergleich klappt" + listOfFiles[i].getName());
    } else {
        System.out.println("KLappt nicht");
    }
}

您需要將第二個 for 循環嵌套在第一個循環中。 並且您的最后一個 if 條件應該在內部 for 循環內。

您還需要在 for 循環中使用另一個條件來檢查第二個文件名是否包含第一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM