Java之File类详解

常用操作:

1         File f = new File("C:\testdata\filedir\a\b\c");
2         f.mkdir();    //建立单级目录
3         f.mkdirs(); //建立多级目录
 1         File f = new File("C:\testdata\filedir\a.txt");
 2         f.createNewFile();  //创建文件
 3         System.out.println("文件是否存在:" + f.exists());
 4         System.out.println("是否是文件:" + f.isFile());
 5         f.delete();  //删除file
 6         f.exists();  //文件或目录是否存在
 7         f.getName(); //得到file名字
 8         f.getPath();  //获取文件的完整路径
 9         f.isDirectory();  //file是否是文件夹
10         f.isFile();    //file是否是文件
11         f.length();   //file的长度,返回long,单位字节

创建File对象的另一种方式:

1     /*创建File对象的另一种方式*/
2 //        此时f2是文件,parent文件夹下的child文件
3         File f2 = new File("parent","child");
4 //      注意:此时会在c盘下创建文件“d.txt”
5         File f3 = new File("c:\", "d.txt");
6         f3.createNewFile();

list()和listFiles()的区别:

 1         File f = new File("C:\testdata\filedir");
 2 /* 返回String[]数组.里面包含了f一级目录下的文件和文件夹名.
 3    注意: 如果f:\a\b.那么b不会包含在数组中 */
 4         String[] fileStrs = f.list();
 5         for (String s : fileStrs) {
 6             System.out.println(s);
 7         }
 8 /* 返回File[] 数组.里面包含了f一级目录下的文件和文件夹.
 9    注意:如果f:\a\b.那么b不会包含在数组中 */
10         File[] files = f.listFiles();
11         for (File ff : files) {
12             System.out.println(ff);
13         }

文件过滤:

 1         /*文件过滤器*/
 2         File f1 = new File("C:\testdata\filedir");
 3         String[] fileStrs = f1.list(new FilenameFilter() {
 4             /**
 5              * dir:需要被过滤的文件夹
 6              * name:需要别被过滤的文件名,此名是相对路径
 7              * 如果返回true,则证明是符合条件的文件,会将改文件名返回到数组中
 8              */
 9             @Override
10             public boolean accept(File dir, String name) {
11                 File f = new File(dir, name);
12                 if (f.isDirectory()) {
13                     return false;
14                 }
15 
16                 if (f.getName().endsWith("txt")) {
17                     return true;
18                 }
19                 return false;
20             }
21         });
22         for (String s : fileStrs) {
23             System.out.println(s);
24         }
原文地址:https://www.cnblogs.com/gongxr/p/7991487.html