File主要有这几种创建方法
话不多说 我们直接用代码实际操作一下
首先 我们要通过 File 在 D:\学习案例\java 目录下创建一个color.java
可以看到 D:\学习案例\java这个目录是存在的 但没有color.java这个文件
我们编写代码如下
import java.io.File;
import java.io.IOException;
public class text {
public static void main(String args[]) throws IOException {
File file = new File("D:\\学习案例\\java\\color.java");
System.out.println(file.createNewFile());
}
}
运行结果如下
控制台输出成功了 我们去对应的D:\学习案例\java目录看一下
可以看到 这里多出了一个color.java createNewFile成功为我们创建了这个文件
创建完后 我们再执行一次
这次他直接返回了false 说明 如果文件已存在 是无法重复创建的
此时我们在加一层目录 改成
File file = new File("D:\\学习案例\\java\\ant\\color.java");
我们明显可以看出 java下是没有ant这个目录的
那么我们再次执行daim
运行结果如下
它直接就抛异常了 说明 createNewFile只能在有 目录 没有文件的情况下创建文件 是不能创建目录的 中间目录错了就会直接异常
然后我们试着将代码改成
File file = new File("D:\\学习案例\\java\\ant");
System.out.println(file.mkdir());
运行结果如下
然后我们在打开D:\学习案例\java
发现这里真的多出了一个ant目录
但需要注意 这个方法是创建不了文件的 只能创建文件夹目录
然后我们将代码改成
File file = new File("D:\\学习案例\\java\\mins\\idem");
System.out.println(file.mkdir());
运行结果如下
运行失败
因为 D:\学习案例\java下并没有mins 如果是 D:\学习案例\java\mins 则会创建一个mins文件夹
但后面又跟了一个idem
说明 mkdir一次最多创建一个文件目录而已 如果多了 就会 执行失败 当然 如果你要创建的目录已经存在 那么它也会不创建目录 并返回false
然后既然小弟不行 那就大哥来
File file = new File("D:\\学习案例\\java\\mins\\idem");
System.out.println(file.mkdirs());
运行结果如下
控制台返回成功 我们看一下D:\学习案例\java
确实是多出了一个 mins目录 然后我们点进去
里面也确实有一个idem
这里需要知道的是 mkdirs是mkdir的强化 他不但 能创建多级目录 还可以创建单级目录 一般情况 直接选择mkdirs就省事了
他和mkdir一样 只能创建目录 如果目录存在 则不会创建目录 并返回false
还有一个很奇葩的东西 例如 你想创建 一个 叫 hlle.txt的文件 但这个目录有个 叫 hlle.txt 的文件夹 则会创建失败
同理 你要创建一个hlle.txt文件夹 如果同目录有一个 hlle.txt文件 则会创建失败