欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Java创建可适应Windows和Linux的文件路径

程序员文章站 2022-06-03 21:48:57
...

在开发过程中,一般程序员都是在Windows上的IDE上进行开发,所以创建文件时一般也不会有什么问题,但如果程序部署到Linux上,就有可能因为Linux和Windows的文件系统的不同而导致文件创建失败。

一般Windows电脑下都会有该目录:

    String path = "C:\\Users";  
    String fileName = "创建文件.xls";
    File file = new File(path,fileName);

此时我们在该目录下创建新文件自然不会有什么问题,但如果在Linux下,因为Linux系统没有C盘,创建文件自然会失败,程序就自然而然的运行出错了。

所以在创建文件时,我们不能理所当然的默认自己电脑上有的目录,别的电脑也有,毕竟每个人的电脑的分盘都不一样,即使是同为Windows系统,每个电脑有的都只是C盘,至于D、E、F盘则都是根据个人喜欢而创建的,更不用说文件系统不同的Linux上了,所以我们编程时需要考虑到文件系统的不同以及分盘的不同。

1.拼接文件路径时,路径连接时不使用"\\",改为使用自适应操作系统的文件分隔符:

    String fileSeperator = File.seperator;

fileSeperator会根据操作系统的不同而使用正确的文件分隔符符

2.编写文件路径时,不自己编写电脑上有的文件路径,要确保使用的文件路径不同电脑也存在,即是:

    String userHome = System.getproperties().getProperty("user.home");

此时userHome即为用户的主目录,与操作系统无关,则在该文件夹下创建文件,必定能成功创建,所以不会存在将程序部署到Linux系统上就发生程序运行失败的现象。

 

注:Java常见的系统路径与获取方法:

// 分隔符
String fileSeperator = File.seperator;

// 用户主目录
String userHome = System.getproperties().getProperty("user.home");

// Java实时运行环境的安装目录
String javaPath = System.getproperties().getProperty("java.home");

// 操作系统名称
String osName = System.getproperties().getProperty("os.name");

// 当前用户程序所在目录
String userDir = System.getproperties().getProperty("user.dir");

// JDK的安装目录
String jdkDir = System.getproperties().getProperty("java.ext.dirs");