File 类
用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作。 File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 boolean createNewFile():在指定位置创建文件。如果该文件已经创建,则不创建。 2.删除 boolean delete();删除失败,返回false void deleteOnExit();在程序退出时,删除指定文件。 3.判断 boolean exists().测试此抽象路径名表示的文件或目录是否存在。 boolean mkdir():创建文件夹 boolean mkdirs():创建多级文件夹 isFile(); isDirectory(); isHidden(); isAbsolute(); 4.获取信息 getName(); getPath();//相对路径文件 getAbsoluteFile()//返回的是对象 getAbsolutePath()//返回的是字符串 getParent(); //如果没有明确的指定它的路径,则返回一个null lastModified(); length();
import java.io.*; class FileDemo{ public static void main(String[]args)throws IOException{ ConsMethod(); method_1(); method_2(); method_3(); method_4(); method_5(); } public static void method_1()throws IOException{ File f=new File("file.txt"); sop("create"+f.createNewFile());//sop在文件操作中相当于打印(System.out); f.delete(OnExit()); sop("delete"+f.delete()); } public static void method_2()throws IOException{ File f=new File("FileDemo.java"); sop("execute"+f.canExecute());//判断文件是否可执行 //创建文件夹 File dir=new File("abc"); sop("mkdir"+dir.mkdir()); } public static void method_3()throws IOException{ File f=new File("FileDemo.java"); f.createFile(); //记往在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。通过exists判断。 sop("dir"+f.isDirectory()); sop("dir"+f.isFile()); } public static void method_4()throws IOException{ File f=new File("file.txt"); sop("path"+f.getPath()); sop("abpath"+f.getAbsolutePath()); sop("parent"+f.getParent());//这个方法返回的是绝对路径下的父目录。如果是相对,则返回null } public static void method_5()throws IOException{ File f1=new File("c:\\Test.java"); File f2=new File("d:\\sf.java"); sop("rename"+f1.renameTo(f2));//返回的是true或false,这种方法类似剪切。移动。。 } public static void ConsMethod(){ //将a.txt封装成file对象,可以将已有的和为出现的文件或者文件夹 File f1=new File("a.txt"); File f2=new File("c:\\abc","b.txt"); File f4=new File("c:"+File.separator+"abc\\zzz\\a.txt");//目录分隔符 } }FilenameFilter:这是一个接口,实现此接口的类实例可用载过滤文件名
import java.io.*; class FileDemo2{ public static void main(String[] args){ listRootsDemo(); listDemo(); File dir=new File("d:\\Programfiles\\"); String[] arr=dir.list(new FilenameFilter(){ public void accept(File dir,String name){ //System.out.println("dir:"+dir+"...name::"+name); //return false; return name.endWith(".bmp"); } });//传递一个匿名内部类 for(String name:arr){ System.out.println(name);// } } public static void listRootsDemo(){ File[] files=File.listRoots(); for(File f:files){ System.out.println(f); } } public static void listsDemo(){ File[] files=new File("c:\\"); String [] names=f.list();//调用list方法的file对象必须是封装了一个目录,该目录还必须存在。 for(String name:names){ System.out.println(name); } for(File f:files){ System.out.println(f); } } }列出指定目录下文件夹或者文件夹,包含子目录中的内容。也就是指定目录下所有内容。因为目录中还有目录,只要使用同一个列出目录的功能函数完成即可。 在列出的过程中出现的还是目录的话,还可以再次调用本功能。 这种表现形式的手法,称为递归。 递归要注意: 1.限定条件。 2.要注意递归的次数。尽量避免内存溢出
import java.io.*; class FileDemo{ public static void main(Stirng[] args){ File dir=new File("d:\\Programfiles"); showDir(dir); toBin(6); } public static void toBin(int num){ while(num>0){ toBin(num/2); System.out.println(num%2); } } public static void showDir(File dir){ System.out.println(dir); File[] files=dir.listFiles(); for(int x=0;x关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?