【发布时间】:2015-08-19 15:06:00
【问题描述】:
我有以下代码行:
"%s/ramp_adapter/user_%d/ramp_file_receipt/%d".format(new java.io.File(".").getAbsolutePath().replace("/.",""), endpointId, fileId)
如果我在窗口中打印这一行,我会得到错误的文件路径:
E:\git\project\codeAdapters\rampAdapter\./ramp_adapter/user_1001/ramp_file_receipt/3
在 unix 中,文件路径是正确的。
我知道我需要让它与 windows 兼容,所以我尝试使用FilenameUtils,但这并没有解决问题。
路径在所有环境中都应该是正确的。
【问题讨论】:
-
unix 中的
E:是什么? -
这看起来不对。 Windows 反斜杠和 unix 使用正斜杠。
-
@SkinnyJ - 我没有查看 unix 系统,但它运行良好。我假设并保留在我的问题中的位置在查看您的评论后似乎是错误的,因此我将其删除。
-
您是否尝试过使用
java.nio.file.Paths.get(String first, String... more)构建路径而不是字符串替换?您将根据运行时获得正确的驱动器根目录和路径分隔符。 -
你的端点错误
./ramp_adapter/user_1001...你坚持./部分吗?