1、File
1.1、增删判获
1 package learn2; 2 /*File类的常见方法: 3 * 1、创建 4 * boolean createNewFile();//在指定位置创建如果,如果该文件已存在,则不创建,返回false; 5 * 输出流会覆盖 6 * boolean mkdir();//创建文件夹 7 * mkdirs();//创建多级文件夹 8 * 9 * 2、删除 10 * boolean delete();//删除失败,返回 false 11 * void deleteOnExit();//在程序退出时删除 12 * 3、判断 13 * boolean exists();//文件是否存在 14 * isFile(); 15 * isDirectory(); 16 * isHidden(); 17 * isAbsolute();测试此抽象路径名是否是绝对路径,即使不存在也可以判断 18 * 19 * 4、获取信息 20 * getName(); 21 * getPath(); 22 * getParent(); 23 * 24 * getAbsolutePath(); 25 * long LastModify(); 26 * long length(); 27 * 28 * */ 29 import java.io.File; 30 import java.io.IOException; 31 32 public class FileDemo { 33 public static void main(String[] args) throws IOException{ 34 method_4(); 35 } 36 public static void method_5()throws IOException 37 { 38 File f1 = new File("c:\\test.java"); 39 File f2 = new File("c:\\hahaha.java"); 40 sop("rename"+f1.renameTo(f2)); 41 42 } 43 public static void method_4()throws IOException 44 { 45 File f = new File("c:\\abc\\a.txt"); 46 sop("path:"+f.getPath());//你封装的是什么路径,返回什么 47 sop("abspath:"+f.getAbsolutePath());//无论封装的是什么。都返回其所属目录变绝对路径 48 sop("parent:"+f.getParent());//该方法返回的是绝对路径中的文件父目录,如果获取相对路径,返回空 49 //如果相对路径中有上一层目录。该目录则是返回结果 50 } 51 public static void method_3()throws IOException 52 { 53 File f = new File("file.txt"); 54 f.createNewFile(); 55 //记住,在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在 56 //通过exists判断 57 sop("dir:"+f.isDirectory()); 58 sop("file:"+f.isFile()); 59 sop(f.isAbsolute()); 60 } 61 public static void method_2()throws IOException 62 { 63 File f = new File("file.txt"); 64 // sop("execute:"+f.canExecute()); 65 //创建文件夹 66 File dir = new File("abc"); 67 //只能创建一级目录 68 // sop("mkdir:"+dir.mkdir()); 69 sop("mkdir:"+dir.mkdirs()); 70 } 71 public static void method_1()throws IOException 72 { 73 File f= new File("file.txt"); 74 f.deleteOnExit();//在程序退出时删除 75 // sop("create:"+f.createNewFile()); 76 sop("delete:"+f.delete()); 77 } 78 79 80 81 public static void consMethod() 82 { 83 //将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象 84 File f1= new File("a.txt"); 85 // 86 File f2= new File("c:\\abc","b.txt"); 87 88 File d = new File("c:\\abc"); 89 File f3= new File(d,"c.txt"); 90 91 sop("f1:"+f1); 92 sop("f2:"+f2); 93 sop("f3:"+f3); 94 95 File f4 = new File("c:"+File.separator+"abc\\"); 96 97 } 98 public static void sop(Object obj) 99 { 100 System.out.println(obj); 101 } 102 }
1.2、文件列表
调用list方法的对象,必须是真实存在的目录
File[] listFiles(FilenameFilter filter)根据文件名过滤器过滤后得到的文件名数组
1 package learn2; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 6 public class FileDemo2 { 7 public static void main(String[] args) { 8 File dir = new File("c:\\"); 9 File[] files = dir.listFiles(); 10 for(File f:files) 11 { 12 System.out.println(f.getName()+"::"+f.length()); 13 } 14 } 15 public static void listDemo_2() 16 { 17 File dir = new File("c:\\"); 18 //内部类 19 String[] arr = dir.list(new FilenameFilter() 20 { 21 public boolean accept(File dir, String name) 22 { 23 // System.out.println("dir:"+dir); 24 // System.out.println("name:"+name); 25 // if(name.endsWith(".bmp")) 26 // return true; 27 // else 28 // return false; 29 return name.endsWith(".bmp"); 30 } 31 }); 32 System.out.println("leng:"+arr.length); 33 for(String name:arr) 34 { 35 System.out.println(name); 36 } 37 } 38 public static void listDemo() 39 { 40 File f = new File("c:\\"); 41 String[] names = f.list();//包含隐藏文件,调用list的必须封装了一个真实存在的目录 42 for(String name :names) 43 { 44 System.out.println(name); 45 } 46 } 47 private static void listRootDemo() { 48 // TODO Auto-generated method stub 49 File[] files= File.listRoots(); 50 for(File f:files) 51 { 52 System.out.println(f); 53 } 54 55 } 56 }
运行结果为对应目录下的文件名数组
1.3、
时间: 2024-10-15 18:41:23