学习文件day20--关于File

 java.io.File
 File的每一个实例用于表示硬盘上的一个文件或目录。实际上表示的是一个抽象路径。
 File可以:
         1:访问其表示的文件或目录的属性信息(名字,大小,修改时间等)
         2:操作文件或目录(创建,删除)
         3:访问一个目录中的所有子项
但是File不能访问文件数据! 

创建File时常用的构造方法:File(String path)
            这里的path是指定该文件的路径。
            这里路径推荐用相对路径,有更好的跨平台性。
            其中常用的是:"./"即当前目录。
            在idea中执行当前程序时,"./"表达的位置就是当前程序所在的项目目录
                Eg: File file =new File("./demo.txt")
 File方法:可以获取其表示的文件或目录的属性信息
            String getName()
            返回当前文件或目录的名字

            long length()
            返回当前文件的大小,单位是字节。

            boolean canRead()
            返回一个boolean表达该文件是否可读

            boolean canWrite()
            返回一个boolean表达该文件是否可写

File的方法:可以判断文件是否存在和是否已经创建
            boolean exists()
            返回当前File对象表示的文件或目录是否真是存在,true:存在  false:不存在

            boolean createNewFile()
            将当前File对象表示文件在硬盘该位置上实际创建出来

File的方法:可以将当前目录下的文件删除
             file.delete();

File的方法:创建一个空的目录
            boolean mkdir()
            将当前File表示的目录在硬盘上实际创建出来。
            boolean mkdirs()
            将当前File表示的目录在硬盘上实际创建出来。

            mkdir和mkdirs最大的区别是:mkdir方法在创建目录时要求该目录所在的目录必须存在否则
            创建失败,而mkdirs则会将所有不存在的父目录一同创建出来。
            因此实际开发中绝大多数都是直接使用mkdirs这个方法创建目录。

File的方法:访问一个目录中的所有子项

                File dir = new File(".");
                if(dir.isDirectory()){
                File[] subs = dir.listFiles();
                
System.out.println("当前目录包含"+subs.length+"个子项");
                for(int i=0;i<subs.length;i++){
                File sub = subs[i];
                System.out.println(sub.getName());
                 }
                }
                获取目录中特定条件的子项
                重载的listFiles方法:File[] listFiles(FileFilter)
                该方法要求传入一个文件过滤器,并仅将满足该过滤器要求的子项返回。
                
File[] subs = dir.listFiles(new FileFilter(){
                        public boolean accept(File file) {
                        return file.getName().startsWith(".");
                                }
                        });
Lambda表达式       

                JDK8之后,java支持了lambda表达式这个特性.
                lambda可以用更精简的代码创建匿名内部类.但是该匿名内部类实现的接口只能有一个抽
                象方法,否则无法使用!
                lambda表达式是编译器认可的,最终会将其改为内部类编译到class文件中
                
语法:  (参数列表)->{ 方法体 }
                
FileFilter filter = (file)->file.getName().startsWith(".");
常用方法
                length():返回一个long值,表示占用的磁盘空间,单位为字节。
                canRead():File表示的文件或目录是否可读
                canWrite():File表示的文件或目录是否可写
                isHidden():File表示的文件或目录是否为隐藏的
                createNewFile():创建一个新文件,如果指定的文件所在的目录不存在会抛出异常                 java.io.FileNotFoundException
                mkdir:创建一个目录
                mkdirs:创建一个目录,并且会将所有不存在的父目录一同创建出来,推荐使用。                 delete():删除当前文件或目录,如果目录不是空的则删除失败。
                exists():判断File表示的文件或目录是否真实存在。true:存在 false:不存在
                isFile():判断当前File表示的是否为一个文件。
                isDirectory():判断当前File表示的是否为一个目录
                listFiles():获取File表示的目录中的所有子项
                listFiles(FileFilter filter):获取File表示的目录中满足
filter过滤器要求的所有子项

               
                
                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛老师来巡山~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值