Нужен File.isAbsolute () для независимого от платформы приложения, работающего с файловой системой UNIX - PullRequest
1 голос
/ 01 марта 2011

мое Java-приложение может работать на всех платформах.Он работает с некоторыми удаленными файлами, расположенными на FTP-сервере в Linux.Для навигации по FTP я использую абсолютные пути, такие как /home/user.Если я создаю File вроде:

File f = new File("/home/user");

, то результат вызова:

f.isAbsolute();

кажется зависимым от платформы.Но так как я всегда работаю с удаленной UNIX-подобной файловой системой, я хочу получить всегда true в этом случае.Есть ли какой-либо встроенный способ Java, как определить, является ли файл абсолютным на платформе Unix?

Конечно, я могу написать вспомогательный метод и посмотреть, если имя файла .startsWith("/"), но я искал некоторыев решении Java.

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Есть ли какой-нибудь встроенный способ Java, как определить, является ли файл абсолютным на платформе Unix?

Нет, "1007 * нет"быть абсолютным на платформе UNIX"- метод в стандартном API.

В соответствии с документацией для File выполнение .startsWith("/") будет соответствовать реализации File.isAbsolute на платформах UNIX:

[...] В системах UNIX имя пути является абсолютным, если его префикс равен "/". [...]

Так что это, вероятно, решение, которое я бы использовал в этом случае.

0 голосов
/ 01 марта 2011

Не уверен, поможет ли это с вашей проблемой, но также из Файлового API вы можете использовать методы, чтобы различать пути к файлу.

 File   getAbsoluteFile()
      Returns the absolute form of this abstract pathname.
 String     getAbsolutePath()
      Returns the absolute pathname string of this abstract pathname.
 File   getCanonicalFile()
      Returns the canonical form of this abstract pathname.
 String     getCanonicalPath() 
      Returns the canonical pathname string of this abstract pathname.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...