来自File Class的getPath()值的返回值是这样的
"C:\Users\Daniel\Desktop\ASDF.mp3".
要使用java中的Desktop类播放文件,必须将路径输入到文件中,路径类似于
"C:\\Users\\Daniel\\Desktop\\ASDF.mp3"
由于\是一个保留字符(根据我的理解)来创建一个新文件,你必须使用双反斜杠来指示它是一个文件。我的问题是,当我尝试获取路径时,我需要将其转换为双斜杠版本。 .replaceAll()方法不允许' \'因为它是一个保留字符,但.replace()方法可以。
要解决这个问题,我只需循环查找所有实例并一次更换一个实例吗?或者是否有更简单的解决方法?另外我想知道我是否因为它是一个保留字符而收到此错误,或者我是完全错误的。
答案 0 :(得分:0)
上面的两个字符串实际上完全相同。 当Java或其他语言输出字符串时,它只显示一个斜杠' \'但是当您将字符串键入双引号时,您需要双反斜杠' \\'所以Java解析器知道它是一个斜杠。反斜杠用于许多其他转义字符,因此这只是解析器知道的方式。 (即使在输入这个答案时,我还需要4个反斜杠才能制作2个!