2017-01-24 5 views
-1

Я хочу получить «из» из строки ниже, которая является файлом пути.Как получить имя подкаталога из строкового пути в java

String path="/Path/to/Text.txt"; 

String path="/The/Path/to/Text.txt"; 

Как получить имя подкаталога "to"?

+1

Используйте [ 'Path'] (https://docs.oracle.com/javase/7/docs/api/java/nio/file/Path .html), вызовите метод getName (int). –

+0

Не работайте со строкой, в зависимости от системы разделитель изменится. Используйте «Путь» или «Файл», чтобы позволить Java выполнять тяжелую работу. – AxelH

ответ

0

Если ваш путь является строка:

String[] directories = path.split("/"); 
    System.out.println(directories[directories.length-2]); 

Но помните, чтобы проверить длину пути, чтобы избежать indexOutOfBounds

1

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

Path p = Paths.get("/The/Path/to/Text.txt"); 
System.out.println(p.getParent()); // /The/Path/to 
System.out.println(p.getParent().getFileName()); // to 
System.out.println(p.getName(2)); // to 
1

Java имеет класс библиотеки для работы с файлами. Это называется File (удивительно ...):

import java.io.File; 
    //... 
    File file= new File("/Path/to/Text.txt"); 
    File parentDir = file.getParent(); 
    System.out.println(parentDir.getName()); 
Смежные вопросы