【发布时间】:2015-01-19 02:54:20
【问题描述】:
文件类中getPath()的返回值是这样的
"C:\Users\Daniel\Desktop\ASDF.mp3".
要使用 java 中的 Desktop 类播放文件,必须将路径输入到文件中,路径类似于
"C:\\Users\\Daniel\\Desktop\\ASDF.mp3"
由于 \ 是保留字符(据我的理解),要创建一个新文件,您必须使用双反斜杠来指示它是一个文件。我的问题是,当我尝试获取路径时,我需要将其转换为双斜杠版本。 .replaceAll() 方法不允许使用 '\',因为它是保留字符,但 .replace() 方法可以。
要解决这个问题,我是否只需要循环查找所有实例并一次替换一个?还是有更简单的解决方法?另外我想知道我收到这个错误是因为它是一个保留字符,还是我完全错了。
【问题讨论】:
-
message = message.replaceAll("\\\\", "\\\\\\\\"); replace - 接受一个子字符串,而 replaceAll 接受一个正则表达式,因此有所不同。 \\ 是 \ 的正则表达式,但使用 java 的转义字符 \ 的数量是双倍的。