//返回path路径对应于网络硬盘根目录的本地路径
public String getAbsolutePath(String path)
{
String absolutePath = userRoot
+ (File.separator.equals("\\") ? path.replaceAll("/", "\\\\") : path);
return absolutePath;
}
API中:
与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator
的值的第一个字符。在 UNIX 系统上,此字段的值为 '/'
;在 Microsoft Windows 系统上,它为 '\\'
。
上面代码实现:
如果path路径是windows路径则把其中的unix路径转windows,否则直接输出unix路径。
java中表示'\'用"\\"
而正则式中'\'为特殊符号 与java规则结合"\\"仅仅表示单一的转义符号 缺乏转义体无法独立存在
所以"\\\\"仅表示匹配"\"的模式