Получить имя из абсолютного пути, подстроку из последней косой черты, java android
Я хочу извлечь имя абсолютного пути. Если у меня есть строка со значением /mnt/sdcard/Videos/Videoname, я хочу сохранить строку со значением Videoname.
Строка меняется, и я не могу получить ранее число косой черты. Как можно разбить подстроку из последней косой черты?
/mnt/sdcard/Видео/Videoname → Videnoname
Ответы
Ответ 1
Вы должны пройти через File
api. Цитируется из документа File.getName()
:
Возвращает имя файла или каталога, обозначенного этим абстрактным именем пути. Это просто фамилия в последовательности имен имени пути. Если последовательность имен пути пуста, возвращается пустая строка.
Пример:
String name = new File("/mnt/sdcard/Videos/Videoname").getName();
Ответ 2
Если вы получили, если из объекта "Файл", вы можете получить его с помощью метода:
String fileName = myFile.getName();
Если вы получили его из простой строки, вы можете использовать
String fileName = myString.substring(myString.lastIndexOf("/")+1);
Ответ 3
String path = "/mnt/sdcard/Videos/Videoname"; // Your path
String fileName = new File(path).getName(); // you file name
Ответ 4
Самый простой способ -
String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;
path.substring(pos, path.length()-pos);
Теперь у вас есть last.htm в строке пути.
Ответ 5
Но с небольшим количеством исследований следующий код работает...
String[] Tokens = stringPath.split("\\\\");
Вам нужно дважды убрать "\".
Ответ 6
string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]