0

我需要在 unix 机器上创建一个目录。我认为下面的代码在unix 机器上可以正常工作,但在本地 windows 机器上测试时失败。这个目录是在我的本地机器上创建的?

String xmlDir = "/home/data/logs"
File xmlDirectory = new File(xmlDir); 
xmlDirectory.mkdir();

我试过下面的目录路径,它在 Windows 机器上运行良好。但是我必须使用mkdirs()而不是mkdir()需要用于创建 unix 目录的方法?

String xmlDir = "C:\\home\\data\\logs"
File xmlDirectory = new File(xmlDir); 
xmlDirectory.mkdirs();

我怎样才能使它在本地以及 n unix 机器上工作?有没有更好的方法来创建文件和目录?

- 谢谢 -

4

2 回答 2

3

您应该使用System user.home将以与系统无关的方式返回用户主目录的属性,例如...

 File home = new File(System.getProperty("user.home"));

mkdir只会创建路径中的最后一个元素,而 asmkdirs将创建所有不存在的元素。使用mkdirs可能是一个更好的主意,因为它确保(在权限允许的情况下)如果路径中的所有元素不存在,它们将被创建

于 2013-11-11T19:51:41.283 回答
0

您已经找到了答案:只需使用mkdirs(). 它不依赖于平台。但是,如果您包含依赖于平台的命名法,那么在将代码从一个环境移动到另一个环境时会遇到麻烦。只需确保使用平台无关代码,或者至少在执行此操作之前检查操作系统System.getProperty("os.name");

于 2013-11-11T19:50:02.953 回答