我正在编写一个单元测试,我想在其中临时创建一个文件。然后我将模拟命令行参数,文件将在命令行参数上传递。这意味着文件应该是 C:\\somefile.txt
.
我用的是这样的东西:
File tempCustomPropertyFile = File.createTempFile( "temp-custom", ".properties");
tempCustomPropertyFile.deleteOnExit();
String[] commandLineArgs = {"customPropertiesFile=" + tempCustomPropertyFile.getCanonicalPath() };
这将生成正确的路径,但是 getCanonicalPath()
提供类似 C:\temp\temp-customXXXX.properties
当你使用 Properties
的 load()
方法,它是转义的,而不是将其视为文本。
我看到了这个关于预处理或覆盖加载的答案,但是因为我可以控制实际输入、文件内容等,所以我只需要一个好的方法来处理这里生成的路径。
我只是手动替换 \\
为了 \\\\
或者有没有一种方法可以转储出依赖于系统的路径格式?
暂无答案!
目前还没有任何答案,快来回答吧!