Сплит Windows Путь - PullRequest
       1

Сплит Windows Путь

2 голосов
/ 20 января 2011

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

Ответы [ 3 ]

8 голосов
/ 20 января 2011

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

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

1 голос
/ 04 апреля 2011

В случае, если вам нужно разделить имя файла 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]);
1 голос
/ 20 января 2011

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...