Подтвердить что ты не робот

Как определить, является ли файловая система чувствительной к регистру?

У меня есть List<String> имен файлов из папки и определенного имени файла как String. Я хочу определить, находится ли имя файла в списке, но нужно учитывать свойство базовой файловой системы, зависящее от регистра.

Есть ли простой способ сделать это (кроме "взлома" проверки System.getProperty("os.name", "").toLowerCase().indexOf("windows")!=-1)?; -)

4b9b3361

Ответ 2

boolean isFileSystemCaseSensitive = !new File( "a" ).equals( new File( "A" ) );

Ответ 3

Похоже, вы можете использовать IOCase.

Ответ 4

Напишите файл с именем "HelloWorld"; попытаться прочитать файл с именем "hELLOwORLD"?

Ответ 5

Я не думаю, что какой-либо из существующих примеров действительно обрабатывает это должным образом, вам нужно записать файл на диск.

    private boolean caseSensitivityCheck() {
    try {
        File currentWorkingDir = new File(System.getProperty("user.dir"));
        File case1 = new File(currentWorkingDir, "case1");
        File case2 = new File(currentWorkingDir, "Case1");
        case1.createNewFile();
        if (case2.createNewFile()) {
            System.out.println("caseSensitivityCheck: FileSystem of working directory is case sensitive");
            case1.delete();
            case2.delete();
            return true;
        } else {
            System.out.println("caseSensitivityCheck: FileSystem of working directory is NOT case sensitive");
            case1.delete();
            return false;
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}