java.io.File
每一个File类表示一个文件或目录(new file对象)
File可以访问表示的文件或者目录的属性信息(名字,大小,读写权限。。。。)
还可以操作文件或者目录(创建,删除)
访问目录的子项
- 创建File对象进行路径的指定
1 public static void main(String[] args) { 2 File file=new File("./test"); 3 // 获取文件名称 4 String name=file.getName(); 5 System.out.println(name); 6 // 获取文件大小 7 long len=file.length(); 8 System.out.println(len); 9 // 访问文件是否为隐藏文件 10 boolean ih=file.isHidden(); 11 System.out.println(ih); 12 // 访问是否为可读文件 13 boolean cr=file.canRead(); 14 System.out.println(cr); 15 } 16 // 访问是否为可写文件 17 boolean cw=file.canWrite(); 18 System.out.println(cw);
- 删除文件
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 // 当前文件夹中的test文件删除 4 File file=new File("./test"); 5 // 删除文件的前提是文件存在 6 // exists() 7 // 该方法用来判断文件是否存在 8 // 存在返回true,反之返回false 9 // delete() 10 // 该方法主要用来删除文件 11 12 boolean ex=file.exists(); 13 if(ex){ 14 System.out.println("删除文件"); 15 file.delete(); 16 boolean exi=file.exists(); 17 if(exi){ 18 System.out.println("文件删除失败"); 19 }else{ 20 System.out.println("文件已删除"); 21 } 22 }else{ 23 System.out.println("文件不存在"); 24 } 25 26
- 创建文件
1 public static void main(String[] args) throws IOException { 2 // TODO Auto-generated method stub 3 //当前文件夹下面创建一个新文件 4 // createNewFile(); 5 // 功能: 6 // 该方法是用来创建文件 7 File file=new File("./demo"); 8 boolean a=file.exists(); 9 if(a){ 10 System.out.println("文件存在"); 11 }else{ 12 System.out.println("文件不存在"); 13 file.createNewFile(); 14 boolean a1=file.exists(); 15 if(a1){ 16 System.out.println("文件已创建"); 17 }else{ 18 System.out.println("文件创建失败"); 19 } 20 }
- 创建目录
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 // 在当前项目下创建一个新的目录 4 // mkdir();创建单个目录 5 // mkdirs()创建多级目录 6 // File file=new File("./src/day23"); 7 // boolean a=file.exists(); 8 // if(a){ 9 // System.out.println("目录已存在"); 10 // }else{ 11 // file.mkdir(); 12 // System.out.println("目录已创建"); 13 // } 14 // 在当前项目下创建a/b/c/d 15 File file1=new File("./a/b/c/d/e/f"); 16 boolean a1=file1.exists(); 17 if(a1){ 18 System.out.println("目录已存在"); 19 }else{ 20 file1.mkdirs(); 21 System.out.println("目录已创建"); 22 } 23 24 }
删除目录
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 File file=new File("./src/day23"); 4 // 通过delete删除目录,该目录必须为一个空目录 5 // 否则无法删除 6 if(file.exists()){ 7 file.delete(); 8 System.out.println("目录已删除"); 9 }else{ 10 System.out.println("目录不存在"); 11 } 12 }
获取目录
1 public static void main(String[] args) { 2 // 访问当前目录下的所有子项并且获取 3 File file=new File("."); 4 // 判断是否为文件 isFile() 5 // 判断是否为目录 isDirectory() 6 if(file.isDirectory()){ 7 // ListFile(); 8 // 功能: 9 // 获取指定目录下所有子项,会将每一个子项以数组的形式进行返回,每一个元素就代指一个子项 10 File []arr=file.listFiles(); 11 System.out.println(arr.length); 12 System.out.println(Arrays.toString(arr)); 13 }else{ 14 System.out.println("访问的不是目录"); 15 }
删除当前目录
1 // 删除当前目录下的a目录 2 File file=new File("./a"); 3 if(file.exists()){ 4 5 System.out.println("目录已删除"); 6 }else{ 7 DeleteDir(file); 8 System.out.println("目录已删除"); 9 } 10 } 11 public static void DeleteDir(File file){ 12 if(file.isDirectory()){ 13 File []fs=file.listFiles(); 14 for(File f:fs){ 15 if(f.isFile()){ 16 f.delete(); 17 }else{ 18 DeleteDir(f); 19 } 20 } 21 file.delete(); 22 } 23 } 24 }