2013-06-10 5 views
0

Мне нужно проанализировать путь к файлу, чтобы получить имя файла из него. Меня смущает то, что окна используют \ в качестве деминера и linux - /, и как-то предоставленный путь к файлу может содержать оба разделителя одновременно.Java: разбор пути к файлу

Конечно, я могу сделать:

int slash = filePath.lastIndexOf("/"); 
int backslash = filePath.lastIndexOf("\\"); 
fileName = filePath.substring(slash > backslash ? slash : backslash); 

но есть лучший способ в случае, если у меня есть больше разделителей? (Вероятно, не путь к файлу)

+2

'Файл f = новый файл (имя_файла); String name = f.getName(); ' –

ответ

7

Просто используйте File класс:

String fileName = new File(path).getName(); 

Он обрабатывает вперед и назад косую черту, плюс комбинации двух.

0

Вы можете использовать

String separator =System.getProperty("path.separator"); 

, чтобы вы системы сепаратора.

+1

Это не будет сделано, поскольку одновременно могут быть оба разделителя. – svz

Смежные вопросы