繁体   English   中英

如何强制Java在Windows上使用Unix文件分隔符?

[英]How to force Java to use Unix file separators on Windows?

我有一个简单的代码

String staticDir = f.getCanonicalPath() + "/src/main/webapp/static/";

在Windows上,它将为我返回“ C:\\ Temp / src / main / webapp / static /”。

如何强制Java使用“ /”代替“ \\”?

我努力了

System.setProperty("file.separator", "/");
String staticDir = f.getCanonicalPath() + "/src/main/webapp/static/";

但这并没有解决我的问题。

谢谢!

只需将路径分隔符替换为预期的分隔符即可:

String dir = f.getCanonicalPath().replace(System.getProperty("file.separator"), "/")
             + "/src/main/webapp/static/";

如果可以,请支持Java java.nio.file.Path 在那里,路径分隔符的概念消失了,直到您调用toString()为止。 但是很少有库使用此功能,并且仍然使用File或更糟糕的String

如果您正在使用的库仍然通过字符串来实现,则可能意味着它们是在/手动拆分的。 也许是时候告诉他们升级了吗?

就我而言,这是我使用的库中的错误-https: //github.com/yui/yuicompressor/issues/111

这就是为什么所有建议的解决方案都没有为我解决问题的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM