【发布时间】:2012-11-11 00:43:26
【问题描述】:
我想获取一个表示路径的字符串并将其转换为绝对 Unix 风格的路径。此字符串可以是 Windows 或 Unix 样式,因为它是调用 MainClass.class.getClassLoader().getResource("").getPath() 的结果,它会根据您的系统返回不同的样式路径。
(我正在为我正在编写的游戏执行此操作,其中一部分为用户提供了一个简单的“bash-ish”外壳,我希望用户能够读取文件。假文件系统被存储作为我项目子目录中的普通目录树。这个文件系统将使用 Unix 风格的路径,我希望能够将输入的路径与上述字符串连接起来(进行一些小的编辑以使其进入正确的目录)所以我可以找到文件的内容。)
任何想法我可以如何去做?我尝试了很多方法,但我似乎无法让它在我朋友的 Windows 7 系统上正常工作。
目前我只是使用一个简单的东西来检查字符串是否以“C:\”或类似的东西开头,然后用斜杠替换反斜杠,但这不可能是一个好方法去做吧,我敢肯定其他人以前也遇到过不同路径样式的问题。这当然是一个非常临时的解决方案。
【问题讨论】:
-
我建议展示一些代码,你想要实现什么,以及你目前拥有什么。
-
这个问题对我来说似乎很合理,没有代码。
-
完全明智的问题。 org.apache.commons.io.FilenameUtils.normalize(name, true) 将执行所需的操作。想要这样做是一件完全合理的事情,与其解释为什么用户不应该这样做,为什么不发布答案呢?