我的代码中有硬编码路径。现在,我必须使用File.separator(或任何其他类),以便我的路径可以在Windows或Linux机器上运行。
为什么我的新代码不起作用?帮我解决这个问题。
这是我的旧代码(适用于Windows):
readFile("./Use-cases/"+duplicatedExcelText);
这是导致异常和错误的新代码:
readFile(File.separator+"."+File.separator+ "Use-cases"+File.separator +
duplicatedExcelText);
这解决了我的问题:
readFile("."+ File.separatorChar + "Use-cases" +
File.separatorChar + duplicatedExcelText);
问题是你构造了一个字符串:
'\' + "." ...
到底。
Windows不喜欢相对路径!
根据this,您可以将/
用于所有操作系统。仅当您想要显示人类用户的最终路径时才建议使用File.separator(以避免混淆)。