尽量使用系统无关路径

在我们的项目中,我们的项目经常要在win或者linux下跑。我们知道win的文件路径是 D:\go\go这种的,linux的文件路径是/root/go/go这种的。所以我们用分隔符的时候,一定要使用File.separator

做路径拼接的时候,如果我们有一个localPath跟一个别的路径filePath,我们不能简单的拼接起来,一定要将filePath使用filePath.replace("/", File.separator).replace("\", File.separator),将它变为系统相关路径。如下实例程序:

import java.io.File;

public class Example {

    public static void main(String[] args) {
        //win 实际路径是 D:\go\p,只不过在代码中要用多余的一个斜杠转义
        String localPath = "D:\\go\\p";
        String filePath = "/root/data1/2001/c.jpg";
        System.out.println(localPath + filePath.replace("/", File.separator).replace("\\", File.separator));
    }
}

推荐阅读更多精彩内容