Разделенная дорожка окон

2

Может ли кто-нибудь показать мне, как разделить путь к файлам по папкам, файлу и диску? Мне нужно регулярное выражение?

Теги:

3 ответа

1
Лучший ответ

RegExp? Да и Нет - вы можете использовать String#split, который использует регулярное выражение, даже если он часто чувствует, что использует обычную строку:

  String[] parts = "C:\\Program Files\\Application\\config.txt".split("\\\\");

В результате привод (parts[0]), папки (parts[1] и parts[2]) и имя файла (parts[parts.length-1])

Возможно, вам придется проверить, является ли первый сегмент именем диска (заканчивается на ":" ), последний сегмент - это имя файла (file.isDirectory()), и если сегмент содержит папку (например, нет папки в C:\test.txt.

  • 0
    ... теперь Java-код правильный, для разделения нужно 4 обратных слеша;)
  • 0
    Такое исправление является причиной того, что здесь не используются регулярные выражения, особенно потому, что File делает все необходимое.
Показать ещё 4 комментария
8

Нет регулярного выражения, необходимо использовать java.io.File часть стандартной библиотеки.

В частности, методы getName(), getParent() и getParentFile(), которые будут намного проще.

1

Если вам нужно разбить на имя файла windows nix или наоборот:

Pattern pt=Pattern.compile("\\\\\\\\|\\\\/");
String[] ar=pt.split("c:\\aaa\\bbb\\ccc");
String[] ar1=pt.split("/tmp/aaa/ddd");
System.out.println(ar[ar.length-1]);
System.out.println(ar1[ar1.length-1]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню