题目一
- 利用File构造器,new 一个文件目录file
1)在其中创建多个文件和目录,测试自己学过的File类的方法
2)手动编写方法,实现删除file中指定文件的操作
public class IOFileTest01 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\dell\\demo\\demo01.txt");
file.createNewFile();
File file1 = new File("D:\\dell\\demo\\demo02\\demo");
file1.mkdirs();
File file2 = new File("D:\\dell\\demo03");
file2.mkdir();
file.delete();
deleteFile(file);
}
public static void deleteFile(File file) {
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (f.isDirectory()) {
deleteFile(f);
} else {
System.out.println(f.delete());
}
}
System.out.println(file.delete());
}
}
}
题目二
2.判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
public static void main(String[] args) throws IOException {
File file = new File("D:\\dell");
File f1 = new File("D:\\dell\\demo\\Demo04\\买了大橘大利娃衣真开心.txt");
System.out.println(f1.createNewFile()); //创建文件
File f2 = new File("D:\\dell\\demo\\Demo04\\没钱了QAQ.txt");
System.out.println(f2.createNewFile()); //创建文件
File f3 = new File("D:\\dell\\demo\\Demo04\\缪拉宝宝.jpg");
System.out.println(f3.createNewFile()); //创建文件
String[] files = file.list();
for (String f : files) {
if (f.endsWith(".jpg")) {
System.out.println(files);
}
}
}
}
题目三
- 遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。
File file = new File("D:\\dell");
//调用方法
textFile(file);
System.out.println(file);
}
// 编写方法,实现删除file中指定文件的操作
public static void textFile(File file) {
// file对象中的文件存储到File文件数组中
File[] fileArrary = file.listFiles();
if (fileArrary != null) { //增加判断语句非空,增加健壮性
for (File f : fileArrary) { //增强for循环遍历集合,第一个for删除内容
//判断该文件是否是文件目录 是递归 否删除
if (f.isDirectory()) {
//是:递归调用
textFile(f);
} else
//不是:获取绝对路径输出在控制台
System.out.println(f.getAbsoluteFile());
}
}
}
}
题目四
- 创建一个与a.txt文件同目录下的另外一个文件b.txt
public static void main(String[] args) throws IOException {
File file = new File("D:\\dell\\demo\\a.txt");
File file1 = new File(file.getParent(), "b.txt");
file1.createNewFile();
}
}
题目五
5.操作D盘下的my.txt文件
- 判断my.txt文件是否存在
- 若存在则删除;若不存在则创建
public static void main(String[] args) throws IOException {
File file = new File("D:\\dell\\demo\\my.txt");
if(file.exists()){
System.out.println(file.delete());
}else {
System.out.println(file.createNewFile());
}
}
}
题目六
6.File类的作用是什么?它是一种流吗?
不属于流,它只是进行对文件的操作,并不没有进行对数据的操作
File类的作用:一个File对象而可以代表一个文件或目录;File可以实现获取文件和目录属性等功能;可以实现对文件和目录的创建,删除等功能。
题目七
7.使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹:
1) 判断temp文件夹下的文件类型,如果是文件则直接删除
2) 如果是文件夹则获取该文件夹下的子文件和文件夹
3) 使用递归的方式删除所有temp文件夹下的文件和文件夹(可参考3题)
public static void main(String[] args) throws IOException {
File file = new File("D:\\dell\\aaa");
deleteDir(file);
}
private static void deleteDir(File file){
File[] files = file.listFiles();
for(File f:files){
if(f.isFile()){
f.delete();
}else {
deleteDir(f);
}
}
file.delete();
}
}