众所周知,我们可以使用
string aa=@"E:\dev_workspace1\AccessCore\WebRoot\DataFile"
在 c# 中为了不加倍'\'。
但是在java中怎么做呢?
众所周知,我们可以使用
string aa=@"E:\dev_workspace1\AccessCore\WebRoot\DataFile"
在 c# 中为了不加倍'\'。
但是在java中怎么做呢?
没有完整的字符串转义运算符,但是,如果是用于文件访问,则可以使用正斜杠:
String aa="E:/dev_workspace1/AccessCore/WebRoot/DataFile";
Windows 允许使用正斜杠和反斜杠作为路径分隔符。如果您将路径传递给与它发生冲突并失败的外部程序,它将不起作用,但这种情况很少见。
可能不是您问题的直接答案,但我觉得应该指出这一点:
有一个依赖于系统的默认名称分隔符字符。
真正独立于系统的方法是这样做:
String aa = "E:/dev_workspace1/AccessCore/WebRoot/DataFile";
String output = aa.replace('/', File.separatorChar);
它将 在 Windows 上为您提供 “E:\dev_workspace1\AccessCore\WebRoot\DataFile”和 “E:/dev_workspace1/AccessCore/WebRoot/DataFile” 几乎在其他任何地方。
如果你写一个路径,你应该使用'/'作为Java下的路径分隔符。'/' 是 Java 下的官方路径分隔符,将被转换为平台的适当分隔符(windows 下的 \,unix 下的 /)。如果传递给系统,字符串的其余部分不会改变,因此 '\' 在 windows 下也有效。但表示此路径的正确方法是“E:/dev_workspace1/AccessCore/WebRoot/DataFile”。
如果你想在 Java 字符串中表示一个 '\',你必须用另一个来转义它:“这个字符串包含一个 \”。
不幸的是,Java 中没有全字符串转义运算符。您需要将代码编写为:
String aa = "E:\\dev_workspace1\\AccessCore\\WebRoot\\DataFile";