如何在Java中转义“\”字符

众所周知,我们可以使用

string aa=@"E:\dev_workspace1\AccessCore\WebRoot\DataFile" 

在c#中为了不加倍’\’。

但是在java中该怎么办?

不幸的是,Java中没有全字符串转义运算符。 您需要将代码编写为:

 String aa = "E:\\dev_workspace1\\AccessCore\\WebRoot\\DataFile"; 

没有完整的字符串转义运算符,但是,如果它是用于文件访问,则可以使用正斜杠:

 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字符串中表示’\’,则必须使用另一个来转义它:“此字符串包含\”。