我必须制作文件对象,我不知道它们目前是否存在。用实际文件没问题:
File file = new File("path+filename"); //File does not get generated which is fine.
file.isDirectory() //is false :)
那么如何创建一个目录文件对象?
File file = new File("path+foldername");
file.isDirectory = true; //doesn't work oviously :(
答案 0 :(得分:0)
使用的方法是.mdkir()
(或.mkdirs()
)。
但是,您需要检查返回代码,因为他们返回boolean
s ...
但是从2015年开始,我假设您使用的是Java 7+。因此,沟渠File
,忘了它,并改为使用java.nio.file:
final Path path = Paths.get("elements", "of", "path", "here");
Files.createDirectory(path);
Files.createDirectories(path);
答案 1 :(得分:0)
让我们考虑以下代码。在这里,我们最初没有文件或目录。这就是退出(), isFile()和 isDirectory()返回false的原因。但是稍后当我们使用 mkdir()创建目录时, isDirectory 会在我们成功创建目录时返回true。
File file = new File("d:\\abc"); //This just creates a file object
System.out.println(file.exists()); //This will return false
System.out.println(file.isFile()); //This will return false
System.out.println(file.isDirectory()); //This will return false
file.mkdir(); //This will create a directory called abc
System.out.println(file.exists()); //This will return true because a directory exists
System.out.println(file.isFile()); //This will return false because we have created a directory called abc not a file
System.out.println(file.isDirectory());//This will return true because we have just created a directory called abc
修改强>
file.isDirectory()
当存在文件夹(目录)时,将仅返回 true 。因此,例如,如果您已在以下位置 d:\ sample 中有一个名为 sample 的文件夹。现在,创建一个名为:
的文件对象File file = new File("d:\\sample");
如果你现在打电话
file.isDirectory() //Returns true
它将返回true。因为文件对象指向有效且存在的文件夹。