众所周知,我们可以使用
string aa=@"E:\dev_workspace1\AccessCore\WebRoot\DataFile"
在c#中为了不加倍'\'。
但是在java中怎么办?
答案 0 :(得分:20)
不幸的是,Java中没有全字符串转义运算符。您需要将代码编写为:
String aa = "E:\\dev_workspace1\\AccessCore\\WebRoot\\DataFile";
答案 1 :(得分:12)
没有完整的字符串转义运算符,但如果是文件访问,则可以使用正斜杠:
String aa="E:/dev_workspace1/AccessCore/WebRoot/DataFile";
Windows allows前向和后向斜杠作为路径分隔符。如果你将路径传递给一个随之破坏并失败的外部程序,它将无法工作,但这种情况非常罕见。
答案 2 :(得分:4)
可能不是你问题的直接答案,但我觉得应该指出:
答案 3 :(得分:3)
真正与系统无关的方法是:
String aa = "E:/dev_workspace1/AccessCore/WebRoot/DataFile";
String output = aa.replace('/', File.separatorChar);
它会给你 的 “E:\ dev_workspace1 \ AccessCore \的WebRoot \数据文件”强> 在Windows和 的 “E:/ dev_workspace1 / AccessCore /的WebRoot /数据文件”强> 几乎在其他地方。
答案 4 :(得分:1)
如果您编写路径,则应在Java下使用'/'作为路径分隔符。 '/'是Java下的官方路径分隔符,将被转换为平台的适当分隔符(\ windows下的\,unix下的/)。如果传递给系统,字符串的其余部分将保持不变,因此'\'也可以在Windows下工作。但表示此路径的正确方法是“E:/ dev_workspace1 / AccessCore / WebRoot / DataFile”。
如果要在Java字符串中表示'\',则必须使用另一个来转义它:“此字符串包含\”。