使用File创建包含句点的目录

时间:2010-11-03 16:15:19

标签: java file-io

File testDir = new File("C:\temp\test");
testDir.createNewFile();

据我了解,上面将在目录c:\ temp

中创建一个名为test的目录
File testDir = new File("C:\temp\test.dir");
testDir.createNewFile();

据我了解,上面将在目录c:\ temp

中创建一个名为test.dir的文件

如果我希望test.dir实际上是目录,我应该对上面的代码做什么?

3 个答案:

答案 0 :(得分:8)

不,第一个会创建一个常规文件 - 毕竟,这就是你要求它做的事情:

  

当且仅当具有此名称的文件尚不存在时,才会以原子方式创建一个由此抽象路径名命名的新空文件。检查文件是否存在以及文件是否存在(如果不存在)是针对可能影响文件的所有其他文件系统活动的原子操作。

没有任何内容表明会创建目录。你想要逃避反斜杠,或者它试图找到C:<tab>emp<tab>est

如果要创建目录,请使用File.mkdirFile.mkdirs()。你仍然需要逃避反斜杠:

File testDir = new File("C:\\temp\\test.dir");
bool created = testDir.mkdir();

(使用mkdirs也可以创建父目录。)返回值告诉您它是否实际创建了一个目录。

答案 1 :(得分:2)

那不是真的。

File.createFile()将创建一个文件。

File.mkdir()创建一个目录。

http://download.oracle.com/javase/6/docs/api/java/io/File.html

答案 2 :(得分:1)

File testDir = new File("C:\temp\test");
testDir.createNewFile();
     

据我所知,上述意愿   创建一个名为test的目录   目录c:\ temp

错误 - 它将创建名为“test”的文件。文件 没有“文件扩展名”。

创建目录:

testDir.mkdir();
顺便说一下,通过查看API doc,可以最轻松快速地回答这类问题。帮自己一个忙,熟悉它。