2011-01-20 80 views
2

任何人都可以告诉我如何拆分文件夹,文件和驱动器上的Windows路径? 我需要正则表达式吗?拆分窗口路径

回答

1

RegExp? Yes和No - 您可以使用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个反斜线;) – 2011-01-20 10:49:21

8

没有正则表达式需要使用java.io.File标准库的一部分。

尤其是getName(),getParent()getParentFile()方法会简单得多。

1

如果您需要在拆分尼克斯平台的Windows文件名或反之亦然:

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]);