0

私はjarファイルとしてJavaアプリケーションを持っています。いくつかのファイルを暗号化します。JFileChooserを使用してルートパスを取得します。正常に動作します。ルートパス内の2つのディレクトリにはディレクトリが含まれ、これらのディレクトリ内には暗号化されるファイルが含まれています。1つまたはこれらのディレクトリの多くは月です (例: path/january または path/May)。JFileChooser は rooh パス ディレクトリのみを探索します。月のディレクトリの名前はアプリケーションのコードにあります。12 ヶ月あります。月の最初の単語は大文字で始まりますが、ディレクトリの名前が小文字の場合、アプリケーションはそうではありません。 Linux OS の場合はパスを認識し、Windows では完璧に動作します。助言がありますか ?

4

1 に答える 1

0

私が理解できる限り、あなたが望むことはequalsIgnoreCase. これは、スニペットに基づく大まかな擬似コードです。

// ...
final String FEBRERO ="Febrero";
// ...

if(actualDirectorio.isDirectory()){ 
    ficheros = actualDirectorio.listFiles(); 
    for (File file : ficheros) {
        if (file.isDirectory()) {
            // proceed to check if it is one of the month names
            // ..
            if (file.getName().equalsIgnoreCase(FEBRERO)) {
                // process Files in Febrero OR FEBRERO or febrero OR FeBrErO ..
            } else if ..
        }
    }
}

FileFilterのオーバーロードされたバリアントで使用できる内の月を表すディレクトリを受け入れるための条件をカプセル化することをお勧めしlistFiles()ます。電池は含まれていません。

于 2012-10-11T17:08:15.627 に答える