1 package IO;
2
3 import java.io.File;
4 import java.io.IOException;
5
6 public class FileDemo01 {
7 public static void main(String[] args) throws IOException {
8
9 // 在指定目录下创建空文件,如果文件已经存在,不会覆盖
10 File file1 = new File("d:\\java.txt");
11 file1.createNewFile();
12
13 // 删除文件(先判断指定路径下的文件是否存在,如果存在则删除,如果不存在则创建)
14 File file2 = new File("d:\\java\\java.txt");
15 if (file2.exists()) {
16 file2.delete();// 如果存在则删除
17 } else {
18 file2.createNewFile();// 否则创建
19 }
20
21 // 判断是否是文件或文件夹
22 File file3 = new File("d:\\java.txt");// 指定要操作的文件路径
23 File file4 = new File("d:\\java");// 指定要操作的文件路径
24 if (file3.isFile()) {
25 System.out.println(file3 + "is a file");
26 } else {
27 System.out.println(file3 + "is not a file");
28 }
29
30 if (file4.isDirectory()) {
31 System.out.println(file4 + " is a directory");
32 } else {
33 System.out.println(file4 + " is not a directory");
34 }
35
36 // 列出一个文件夹中的完整内容
37 File file5 = new File("d:\\java");// 指定要操作的文件路径
38 if (file5.isDirectory()) {// 如果是文件夹,则列出该文件夹下的所有内容
39 String list[] = file5.list();// 列出全部内容,用数组接收
40 for (int i = 0; i < list.length; i++) {
41 System.out.println(list[i]);
42
43 }
44
45 }
46 // 以上list()列出的只是文件或文件夹的名字
47 // 使用listFiles()列出完整列表
48 File file6 = new File("d:\\java");// 指定要操作的文件路径
49 if (file5.isDirectory()) {// 如果是文件夹,则列出该文件夹下的所有内容
50 File list[] = file6.listFiles();// 列出全部内容,用数组接收
51 for (int i = 0; i < list.length; i++) {
52 System.out.println(list[i] + "--->" + list[i].length());
53
54 }
55
56 }
57 System.out.println("-----------------------");
58 File file7 = new File("d:\\java");
59 list(file7);
60 }
61
62 //把每个文件夹下的文件都显示出来
63 public static void list(File file) {
64 if (file.isDirectory()) { // 如果是文件夹,则输出文件夹里的内容
65 File f[] = file.listFiles();// 将文件夹内容列出,用数组存放
66 if (f != null) {// 如果数组不为空,则依次输出数组的内容
67 for (int i = 0; i < f.length; i++) {// 遍历数组
68 list(f[i]);// 继续调用,如果有文件夹,则输出文件夹里的内容
69 }
70 }
71 }
72 System.out.println(file);// 递归调用完后,输出内容
73
74 }
75
76 }