Nextrp [CPP] RU + Many GEOs Игра на карте России | NEXTRP

Налагает ли Java какие-либо дополнительные ограничения на имена файлов, кроме базовой операционной системы?

java operating-system filesystems

614 просмотра

3 ответа

137 Репутация автора

Налагает ли Java какие-либо дополнительные ограничения самостоятельно? Windows (до Vista) не позволяет включать имена

\ / < > ? * :

Я знаю, КАК проверять имена (регулярное выражение).

Мне нужно проверить имена файлов, введенные пользователями.

Мое приложение не должно запускаться на какой-либо другой платформе, хотя, конечно, я бы предпочел быть независимым от платформы!

Автор: David Kerr Источник Размещён: 15.09.2008 03:12

Ответы (3)


2 плюса

110958 Репутация автора

Нет, вы можете экранировать любой символ, который Java не разрешает в литералах String, но файловая система позволяет.

Также, если вы пытаетесь портировать приложение Windows на Mac или Unix, лучше всего использовать:

File.separator

Определить правильный разделитель файлов для использования на каждой платформе.

Автор: jjnguy Размещён: 15.09.2008 03:18

0 плюса

12610 Репутация автора

При создании new Fileвведенные аргументы будут нормализованы реализацией java.io.FileSystemкласса для конкретной платформы . Я не знаю особых ограничений для Java.

и да, всегда используйте File.separator.

Автор: Andrew Размещён: 15.09.2008 03:30

0 плюса

7449 Репутация автора

Java поддерживает все, Stringчто может быть выражено в Unicode (с какой-то смехотворно большой максимальной длиной Integer.MAX_VALUE), а имена файлов - это просто другой вид String.

Конечно, это означает, что вы можете попытаться сослаться на файл, используя имя, которое не поддерживается базовой операционной системой. Если вы сделаете это, вы получите какое-то время, IOExceptionкогда вы попытаетесь использовать ссылку на файл ...

Автор: Bill Michell Размещён: 15.09.2008 03:33
Вопросы из категории :
32x32