java的文件操作类File

java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类

例子:

 1 package test.file.IO;
 2 
 3 import java.io.*;
 4 public class TestFile{
 5     public static void main(String[] args){
 6         //1.File类是java用来处理文件的类,它可以获取文件的所有属性 和 完成文件所需要的所有操作
 7         //  所以使用的第一步就是new一个File对象
 8         //  File f = new File("test.txt");//构造方法也有多次重载
 9         //2.判断文件是否存在,exists()方法,这是针对单个文件的,所以要用第三人称单数
10         //3.如果不存在那么就新建这个文件,createNewFile()
11         //        如果是要创建文件夹,则使用 mkdir();只能创建一层的文件夹和
12         //                          mkdirs()无论多少层都能够创建,所以推荐使用这个方法;
13         //4.判断文件是文件还是文件夹,isFile();isDirectory()
14         //5.如果是文件,获取文件的基本属性,getName()获取文件名;
15         //                        getPath()获取路径;
16         //                        getAbsolutePath()获取绝对路径;
17         //                        length()获取文件大小等等
18         //6.获取文件的父目录 getParent()
19         //             getParentFile()可以获取父路径
20         //7.如果是文件夹,主要就是获取目录下的文件了
21         //         list()返回所有子目录的文件名,返回值是String类型(隐藏文件也会返回)
22         //         listFile()很明显,返回所有子目录下的所有文件,类型是File类型
23         //
24         
25         
26         File f = new File("D:\123\789\abc.txt");
27         if(f.exists()){//先判断文件是否存在
28             System.out.println("已存在");
29         }else{
30             if(f.isDirectory()){//判断要生成的是文件还是文件夹
31                 f.mkdirs();//循环生成文件夹及其子文件夹
32             } else {
33                 try {
34                     if (!f.getParentFile().exists()) {//如果是创建包含文件夹的文件,必须先手动创建文件夹
35                         f.getParentFile().mkdirs();
36                     }
37                     f.createNewFile();
38                 } catch (Exception e) {
39                     e.printStackTrace();
40                 }
41             }
42         }
43         
44         //当为文件夹时,可以显示其子目录和文件
45         File f2 = new File("E:\tommy_130923");
46         String[] fileNames = f2.list();//list会把文件和子目录都罗列出来
47         for(int i=0;i<fileNames.length;i++)
48             System.out.println(i+" "+fileNames[i]);
49         
50         System.out.println("***********************************");
51         File[] files = f2.listFiles();//以文件的格式返回所有的文件和子目录
52         for(int j=0;j<files.length;j++)
53             System.out.println(j+" "+files[j].getName());
54         
55         //循环遍历文件
56         System.out.println("**************循环遍历文件*********************");
57         showFiles(f2);
58     }
59     
60     public static void showFiles(File f){
61         if(f.exists()&&f.isDirectory()){
62             File[] files = f.listFiles();
63             for(File file:files){
64                 if(file.isDirectory())
65                     showFiles(file);
66                 else
67                     System.out.println(file.getAbsolutePath());
68             }
69                 
70         }else if(f.exists()&&f.isFile())
71             System.out.println(f.getAbsolutePath());
72     }
73 }
View Code
原文地址:https://www.cnblogs.com/tommy-huang/p/4316253.html