我们知道如果我们想要解决一个文件,我们可以这样做:
// file_path is the path file to current position of program
String address = file_path + File.separator + "output.txt";
但我犯了一个错误并设置了两次文件分隔符,如下所示:
String address = file_path + File.separator + File.separator + "output.txt";
这些代码只是一个例子,我通过Java库获取文件路径,这是跨平台的,没有任何错误。我这样展示他们是为了更清楚地表明我的错误。
实际上,我想将文本文件从a_text.txt重命名为b_text.txt,但我在这些名称之前设置了两个文件分隔符!类似于//b_text.txt而不是/b_text.txt
在 Windows 中没有错误,文件可以读取或编辑,但在其他操作系统中如 Linux , Mac 和的Solaris
由于我没有这些系统,我想了解它。虽然我会尽快解决这个错误,但无论如何我很想知道它。
答案 0 :(得分:0)
正如@ Yu-LinChen所述,如果您使用的是Java 7或更高版本,请使用Path
。其他一切都将取决于平台。
此外,由于D:
表明您也使用绝对路径,因此它将更加局限于特定环境。考虑使路径可配置,例如在properties
文件中,使用Path.get(pathFromProperty)
读取配置。这适用于Windows上的D:\some\path
和类Unix系统上的/some/path
。