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

 

你可能感兴趣的:(java)