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

时间:2009-07-23 05:55:07

标签: c# java

众所周知,我们可以使用

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

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

但是在java中怎么办?

5 个答案:

答案 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)

可能不是你问题的直接答案,但我觉得应该指出:

system-dependent default name-separator character

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