File类总结
创建File类——三种方式
a、File(String path)
b、File(File parent,String child)
c、File(String parent,String child)
//创建File //File(String path) File file1 = new File("C:\\Java_Tools\\log.log"); System.out.println(file1); //File(File parent,String child) File file2 = new File("C:\\Java_Tools"); file2 = new File(file2,"log.log"); System.out.println(file2); //File(String parent,String child) File file3 = new File("C:\\Java_Tools","log.log"); System.out.println(file3);
运行结果:
常用方法
a、判断是否为文件夹:file.isDirectory()
b、判断是否为文件:file.isFile()
c、文件或文件夹是否存在:file.exists()
//判断是否为文件夹 File file = new File("C:\\Java_Tools\\log.log"); if(file.isDirectory()){ System.out.println("是文件夹"); }else{ System.out.println("不是文件夹"); } //判断是否为文件 if(file.isFile()){ System.out.println("是文件"); }else{ System.out.println("不是文件"); } //文件夹或文件是否存在if(file.exists()){ System.out.println("存在"); }else{ System.out.println("不存在"); }
运行结果:
d、创建文件夹:file.mkdir() 创建一级文件夹,file.mkdirs() 创建多级文件夹
e、创建文件:file.createNewFile()
f、获取名字(文件夹、文件):file.getName()
g、重命名:file.renameTo(File file)
h、删除文件:file.delete() 删除最低级文件夹或文件,不能越级删除,也就是文件中有文件删除失败
//创建文件夹 File file = new File("C:\\Java_Tools\\aa"); if(file.mkdir()){//只能创建一级文件夹 System.out.println("创建成功"); }else{ System.out.println("创建失败"); } file = new File("C:\\Java_Tools\\aa\\bb\\cc\\dd"); if(file.mkdirs()){//创建多级 System.out.println("创建成功"); }else{ System.out.println("创建失败"); } //创建文件 file = new File("C:\\Java_Tools\\aa\\测试.txt"); try { if(file.createNewFile()){ System.out.println("创建成功"); }else{ System.out.println("创建失败"); } } catch (IOException e) { e.printStackTrace(); } //获取名字(文件夹、文件) System.out.println(file.getName()); //重命名 file = new File("C:\\Java_Tools\\aa\\测试.txt"); if(file.renameTo(new File("C:\\Java_Tools\\aa\\修改.txt"))){ System.out.println("修改成功"); }else{ System.out.println("修改失败"); } //删除文件:删除最低级文件夹或文件,不能越级删除,也就是文件中有文件删除失败 file = new File("C:\\Java_Tools\\aa\\修改.txt"); if(file.delete()){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } file = new File("C:\\Java_Tools\\aa"); if(file.delete()){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); }
运行结果:
i、获取当前路径:file.getPath()
j、获取父路径:file.getParent()
k、获取父级路径对应File对象:file.getParentFile()
l、获取文件夹所有子文件的名字:file.list()
m、获取文件夹所有子文件对应的File对象构成的数组:file.listFiles()
//获取当前路径 File file = new File("C:\\Java_Tools\\aa"); System.out.println(file.getPath()); //获取父路径 System.out.println(file.getParent()); //获取父级路径对应File对象 System.out.println(file.getParentFile().getPath()); //获取文件夹所有子文件的名字 file = new File("C:\\Java_Tools"); //获取文件夹所有子文件对应的File对象构成的数组 String[] names = file.list(); System.out.println("文件夹所有子文件名字"); for(String name : names){ System.out.println(name); } //获取文件夹所有子文件对应的File对象构成的数组 File[] files = file.listFiles(); System.out.println("文件夹所有子文件对象的路径"); for(File f : files){ System.out.println(f.getPath()); }
运行结果:
n、File.separator 即 / 用于系统兼容
//File.separator 系统兼容 System.out.println(File.separator); File file = new File("C:\\Java_Tools\\log.log"); System.out.println(file); file = new File("C:/Java_Tools/log.log"); System.out.println(file); file = new File("C:"+File.separator+"Java_Tools"+File.separator+"log.log"); System.out.println(file);
运行结果: