用正斜杠替换Java文件名中的反斜杠?

用正斜杠替换Java文件名中的反斜杠?,java,cross-platform,Java,Cross Platform,如果操作系统是Windows,并且我从操作系统获得文件名,例如在File.listFiles中,我会得到反斜杠。如果想要在消息字符串中包含文件名,我需要管理这些文件以向前斜杠。使用replaceAll\\\,/很好,但是无条件地使用它是危险的还是有风险的?我正在Windows上开发,希望此代码能够在其他平台上运行。在Java中,字段设置为系统特定的字符串,表示文件系统上的正确斜杠。如果您知道传入字符串总是有反斜杠,并且需要系统特定的斜杠,那么可以使用 replaceAll("\\", File.

如果操作系统是Windows,并且我从操作系统获得文件名,例如在File.listFiles中,我会得到反斜杠。如果想要在消息字符串中包含文件名,我需要管理这些文件以向前斜杠。使用replaceAll\\\,/很好,但是无条件地使用它是危险的还是有风险的?我正在Windows上开发,希望此代码能够在其他平台上运行。

在Java中,字段设置为系统特定的字符串,表示文件系统上的正确斜杠。如果您知道传入字符串总是有反斜杠,并且需要系统特定的斜杠,那么可以使用

replaceAll("\\", File.separator)

在Windows上,这将生成原始字符串,而在Mac和Unix上,它将生成带有正斜杠而不是反斜杠的字符串。

这是什么意思?危险还是危险?你所做的没有错。