Мне нужно проверить, существует ли файл. Что может быть выполнено методом File#exists()
. Но эта проверка существования чувствительна к регистру. Я имею в виду, если у меня есть имя файла some_image_file.jpg в коде, но если физически это файл some_image_file.JPG, то этот метод говорит, что файл не существует. Как я могу проверить существование файла с учетом регистра к расширению и получить фактическое имя файла?
В моем сценарии у меня есть файл excel. Каждая строка содержит метаданные для файлов и имя файла. В некоторых случаях у меня есть только имя файла или в других случаях у меня может быть полный путь. Я обозначаю строку как документ.
Эти файлы размещаются на сервере. Моя работа состоит в том, чтобы
- Прочитайте файл Excel построчно и перечислите все документы.
- Выньте имя файла или путь к файлу.
- Создайте полный путь к файлу.
- Проверьте, существует файл или нет.
- Проверить другие метаданные/информацию, представленные в документе.
- Загрузите файл.
Мое приложение выдает исключение, если файл не существует или некоторые метаданные недействительны.
Файл excel написан заказчиком, и они неправильно написали какое-то имя файла, я имею в виду, что если файл физически имеет расширение в нижнем регистре, они написали расширение в верхнем регистре, также верно и обратное.
Я запускаю приложение на сервере unix.
Поскольку расширения файлов не совпадают, поэтому File#exists()
дает false, и в конечном итоге мой код выдает исключение.
Папки, в которых размещены файлы, могут содержать 30000 и более файлов.
Я хочу
- Чтобы взять полный путь к файлу.
- Проверьте, существует файл или нет.
- Если его нет то
- Проверьте существование файла, изменив регистр расширения.
- Если он не существует после преобразования регистра, сгенерируйте исключение.
- Если он существует, верните фактическое имя файла или путь к файлу.
Если имя файла имеет расширение типа .Jpg, не знаю, что делать! Должен ли я проверить это, переставив его, изменив регистр?
File.exists
сам, намеренно указав неправильный регистр имени файла, и он работает нормально... - person Jon Skeet   schedule 29.11.2012File.exists
, но меньше смысла с точки зрения того, почему вы хотите это сделать. Откуда вы берете имя файла? На какую информацию можете вы положиться? - person Jon Skeet   schedule 29.11.2012