Java JFileChooser是否有任何方法可以为我提供文件';带双斜杠的s路径\\&引用;?

Java JFileChooser是否有任何方法可以为我提供文件';带双斜杠的s路径\\&引用;?,java,jfilechooser,Java,Jfilechooser,在Netbeans中,我使用JFileChooser获取文件路径。一切都很好,它给了我路径以及单斜杠\。但是我需要带双斜杠的路径\\。所以我的问题是,是否已经有任何一种方法可以为我提供这种类型的路径?我也不知道有双斜杠的路径名\\。示例-H:\\New folder\\odesk\\odeskViolin4.wav 现在我能做什么?您只需使用String.replaceAll()方法将\符号替换为\\ String input = "C:\\Users\\myName"; //special c

在Netbeans中,我使用JFileChooser获取文件路径。一切都很好,它给了我路径以及单斜杠
\
。但是我需要带双斜杠的路径
\\
。所以我的问题是,是否已经有任何一种方法可以为我提供这种类型的路径?我也不知道有双斜杠的路径名
\\
。示例-
H:\\New folder\\odesk\\odeskViolin4.wav

现在我能做什么?

您只需使用
String.replaceAll()
方法将
\
符号替换为
\\

String input = "C:\\Users\\myName"; //special characters have to be escaped.
String doubleSlashed = input.replaceAll("\\\\", "\\\\\\\\");
System.out.println(doubleSlashed);
这将打印:

C:\\Users\\myName

请注意,
String.replaceAll(字符串模式,字符串替换)
接受两个参数,在我的示例中,它们是四个斜杠和八个斜杠字符串。这是因为
\
符号是一个特殊字符,必须转义。

如果您确实想用双反斜杠替换单反斜杠,您可以简单地执行以下操作:

path = path.replace("\\", "\\\\");
但是,根据您的目的,您可能实际上不希望使用双反斜杠。您至少应该意识到这一点:

String oneBackSlash   = "\\";    //This String will consist of one backslash
String twoBackSlashes = "\\\\";  //This String will consist of two backslashes
//The String below has no double backslashes, only single ones
String path = "H:\\New folder\\odesk\\odeskViolin4.wav";

System.out.println(oneBackSlash);
System.out.println(twoBackSlashes);
System.out.println(path);
输出:

\
\\
H:\New folder\odesk\odeskViolin4.wav

问题是为什么(你需要双破折号)?@MadProgrammer在JFileChooser获取文件后,我正在尝试播放一个.wav文件,也就是说,你从
JFileChooser
收到一个
文件
引用,你为什么需要双破折号?使用双破折号的唯一原因是当您自己创建
字符串时,需要转义斜杠字符。这些要求毫无意义。查找文件的能力与斜杠无关…@maddashes和斜杠,它们是一样的吗?我很困惑你的困惑,抱歉,割伤…巨大的头痛你的解决方案真的适合你吗?当我尝试时,在索引1附近出现了
java.util.regex.PatternSyntaxException:意外的内部错误。不是被否决的选民,但这似乎是一个非常奇怪的要求。最好先等待@Mad问题的答案,然后再冲进去。@kocko我在线程“AWT-EventQueue-0”java.lang.NullPointerException中遇到错误
异常