Java中File类-8-File类创建/重命名/删除功能
本篇来学习Java中File类的创建功能,打开API文档,搜索并打开File页,能找到三个创建的方法:createNewFile() mkdir() mkdirs() ,三个方法返回都是布尔类型。然后再看看重命名和删除功能。
1.方法createNewFile()
这个方法是用来创建文件,如果文件存在就不创建返回false,如果不存在就创建,返回true。这里我们在Eclipse的项目的根目录演示创建一个abc.txt的过程。
package file;
import java.io.File;
import java.io.IOException;
public class Demo1_File {
public static void main(String[] args) throws IOException {
File file = new File("abc.txt");
System.out.println(file.createNewFile());
}
}
运行代码会返回true,并在当前java项目根目录创建abc.txt文件(需要手动刷新java项目名称),再次运行就会返回false,因为文件已经存在。
2.方法mkdir() 和mkdirs()
如果学习过linux就知道mkdir是创建文件路径的shell命令,下面颜色创建一个文件夹和一个文件夹下还有文件夹的例子。
package file;
import java.io.File;
import java.io.IOException;
public class Demo1_File {
public static void main(String[] args) throws IOException {
File dir1 = new File("abc");
File dir2 = new File("abd\\aab");
System.out.println(dir1.mkdir());
System.out.println(dir2.mkdirs());
}
}
运行之后,需要刷新当前项目就可以看到创建的文件夹和嵌套文件夹效果。创建多级文件夹使用\\,一个\表示转义,所以需要用两个\\表示一个路径分隔符。
3.重命名功能
有一个重命名的方法renameTo(File des),就是把文件重命名为指定的路径。文件重命名分为路径相同和路径不同。
先来看看路径相同的改名,原来我项目根目录下存在一个abc.txt,下面我要把这个文件重命名为cba.txt
package file;
import java.io.File;
import java.io.IOException;
public class Demo1_File {
public static void main(String[] args) throws IOException {
File file1 = new File("abc.txt");
File file2 = new File("cba.txt");
System.out.println(file1.renameTo(file2));
}
}
再来看看如果路径不相同的重命名方法修改后效果。效果是,路径不同,改名并剪切文件到新路径。
package file;
import java.io.File;
import java.io.IOException;
public class Demo1_File {
public static void main(String[] args) throws IOException {
File file1 = new File("cba.txt");
File file2 = new File("C:\\Users\\user1\\Desktop\\abc.txt");
System.out.println(file1.renameTo(file2));
}
}
运行之后,发现确实把文件给重命名并剪切到桌面。
4.删除功能
方法delete()是可以删除文件或者文件夹。我们提前在Eclipse项目根目录创建abc.txt文件和aaa文件夹,bbb文件夹,其中bbb文件夹下创建ccc文件夹。执行下面代码,看看发生什么。
package file;
import java.io.File;
import java.io.IOException;
public class Demo1_File {
public static void main(String[] args) throws IOException {
File file1 = new File("abc.txt");
File dir = new File("aaa");
File dir2 = new File("bbb");
System.out.println(file1.delete());
System.out.println(dir.delete());
System.out.println(dir2.delete());
}
}
运行之后,发现bbb文件夹删除不了,原因是delete()方法不能删除文件夹下有文件或者文件夹的情况,只能删除空文件夹,还要注意,这里删除是不走回收站,删除文件之前需要小心。