使用File for Unix / Windows创建Java目录

时间:2013-11-11 19:46:48

标签: java unix java-io

我需要在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机器上运行?是否有更好的文件和目录创建方法?

- 谢谢 -

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

您已经找到了答案:只需使用mkdirs()即可。它不依赖于平台。但是,如果您包含平台相关的命名法,那么在将代码从一个环境移动到另一个环境时,您将遇到麻烦。请确保使用与平台无关的代码,或者至少在通过System.getProperty("os.name");

之前检查操作系统