Java, получить полный путь к файлу и удалить имя файла - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь получить путь к файлу каталога.У меня проблема с получением последних \ или / каталога.Поскольку этот код должен работать на всех операционных системах, я не могу найти никакого решения для этого.Любая помощь приветствуется.

Мой код пока:

System.out.print("Enter dir: ");
String path = kb.nextLine();
File pathes = new File(path);
String path2 = pathes.getParent();
path = path.substring(0, path.lastIndexOf("\\")+1);
System.out.println("PATH: " + path);
System.out.println("PATH2: "+path2);

Мой вывод:

PATH: C:\Users\User\Desktop\test\
PATH2: C:\Users\User\Desktop\test

Это всего лишь тестовый код, а не реальный код, над которым я работаю.

РЕДАКТИРОВАТЬ Я пытаюсь получить

C:\Users\User\Desktop\test\

из

C:\Users\User\Desktop\test\test.txt

1 Ответ

0 голосов
/ 10 мая 2018

Чтобы получить абсолютный путь к родительскому каталогу, вы можете сделать:

File f = new File("C:\\Users\\User\\Desktop\\test\\test.txt");
String path = f.getParentFile().getAbsolutePath();
System.out.println(path);

Вывод:

C:\Users\User\Desktop\test

Если вы действительно хотите использовать косую черту,тогда вы можете просто добавить File.separator:

File f = new File("C:\\Users\\User\\Desktop\\test\\test.txt ");
String path = f.getParentFile().getAbsolutePath() + File.separator;
System.out.println(path);

Вывод:

C:\Users\User\Desktop\test\
...