常用操作:
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 }