学习文件day20--关于File

2023-10-27

 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过滤器要求的所有子项

               
                
                

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习文件day20--关于File 的相关文章

  • Micropython加速物联网开发4 - SPI驱动5110LCD屏

    5110是84 48点阵LCD屏 其性价比高 接口简单 速度快 功耗低 非常适合电池供电的便携式终端设备 本例使用TPYBoard开发板SPI1接口驱动5110LCD屏 连线图即接口说明 LCD驱动程序 5110LCD的通信协议是一个没有M

随机推荐

  • 从开源小白到 Apache Member,我的成长之路

    我们走过的每一步路 都会留下印记 越坚实 越清晰 近日 Apache 软件基金会 ASF 官方 Blog 宣布全球新增 40 位 Apache Member 张乎兴有幸成为其中一位 目前 全球共有771位 ASF Member 中国仅13位
  • 基于模糊控制算法的水位控制研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及讲解 1 概述 模糊逻辑控制是由模糊集理论 模糊语言变量
  • win7下安装高版本的nodejs16及以上版本

    win7下安装nodejs16 4 0 1 nodejs下载地址 https nodejs org dist v13 9 0 https nodejs org dist latest v16 x 2 通过以上路径 分别下载下面资源包 nod
  • SpringMVC拦截器

    1 拦截器的三个抽象方法 SpringMVC中的拦截器有三个抽象方法 preHandle 控制器方法执行之前执行preHandle 其boolean类型的返回值表示是否拦截或放行 返回true为放行 即调用控制器方法 返回flse表示拦截
  • 【分享】原力计划的初衷 【探讨】新的一年,你对原力计划有哪些期待?

    课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得倒CSDN王总的授权 来对于我们每周四的绿萝时间 直达CSDN 直播内容进行总结概括 让大家能够省去看直播回放的时间也能够了解直播内容和官方的最新动态 希望大家给予凉哥最大的支
  • 【阿里三面】好险!本以为是场普通的阿里面试,没想到二面就迎来了P9大佬

    前言 阿里 我是在BOSS上投的简历 之前也投过一次 简历都没通过筛选 后来让前辈帮我改了一下简历 重新投另一个部门 获得了面试机会 5月15日 中午HR打电话过来预约了下午4点半面试 说会在线笔试 让我准备好 一面 70分钟 突击电话面试
  • 基于FPGA的正弦波发生器设计与实现

    基于FPGA的正弦波发生器设计与实现 摘要 本文介绍了一种基于FPGA的正弦波发生器的设计与实现 通过使用FPGA的数字信号处理功能 可以实现高精度 高性能的正弦波生成 文章首先介绍了DDS Direct Digital Synthesis
  • 大骗局星钻共享拍卖不为人知的的秘密

    钻石恒久远 一颗永流传 作为当之无愧的宝石之王 钻石从开采到初步打磨再到深层加工最后到售卖 需要经历无数道工序流程 平均每开采一克拉的钻石胚 需要至少处理250吨的矿石 而这一克拉的钻石胚还需要经过切磨雕琢 最后以闪耀动人的钻石成品面世时
  • vue自定义校验规则的动态必填字段

  • 10秒学会codeblocks里批量替换变量名

    10秒学会codeblocks里批量替换变量名 我想把下面代码所有的frontt改成front 应该怎么做呢 typedef struct QueueElementType element MAXSIZE int frontt int re
  • Latex基本使用

    一 文字 加粗 textbf 文字 加颜色 textcolor 颜色 文字 如 textcolor cyan TABLE II 一个单词的首字母下沉占用两行 单词剩余部分大写 IEEEPARstart 单词首字母 单词剩余部分 如 IEEE
  • Linux下的FILE*结构体

    FILE 结构体解析 struct file结构体定义在include Linux fs h中定义 文件结构体代表一个打开的文件 系统中的每个打开的文件在内核空间都有一个关联的 struct file 它由内核在打开文件时创建 并传递给在文
  • 笔记本网络计算机和设备不可见,xp电脑不显示无线网络的七种原因和解决方法...

    xp纯净版系统电脑打开后发现桌面右下角不显示无线网络 如果要设置无线网络都不知道从哪里下手 这到底是怎么回事 造成xp系统不显示无线网络的原因有很多种 下面和大家讲解一下xp电脑不显示无线网络的七种原因和解决方法 故障原因 一 无线网卡驱动
  • k8s config多集群管理

    k8s config多集群管理 contexts 查看 kubectl config get contexts 创建 kubectl config set context my context 修改 kubectl config set c
  • pycharm整体缩进,整体取消缩进

    整体缩进 tab 整体取消缩进 tab shift
  • [游戏商业化]一些基础概念点,做个记录

    A 商业化业务逻辑 核心 三者之间的关系 产品的最终目标是实现盈利 获取利润 产品的主要目标是发展用户 吸引用户 留下用户 通过投放产品广告为产品带来用户 变现 广告变现 是最简单 最有效且不存在领域限制的变现方式 通过在App上展示广告主
  • 数据结构--- 树

    一 知识补充 定义 树是一种数据结构 它是由n n 0 个有限节点组成一个具有层次关系的集合 把它叫做 树 是因为它看起来像一棵倒挂的树 也就是说它是根朝上 而叶朝下的 它具有以下的特点 每个节点有零个或多个子节点 没有父节点的节点称为根节
  • 独家专访BlockCity区块城市徐志翔:DAO是未来元宇宙的核心

    转载说明 最近随着ChatGPT的出圈 整个AIGC领域倍受关注 唱衰媒体人的声音也开始不绝于耳 但看到这样有质量的长文 我想也不是每个媒体人都将会被AI替代吧 本文来自前瞻 元宇宙观察 专栏记者采访 作者声明分享无版权限制 如下为全文内容
  • 基础算法题 —— 合唱队(最长递增子序列)

    题解 枚举每个位置左右侧分别所能站的做多人 自左向右递增 求每个位置左边最多可站多少人 含自己 dp1 自右向左递增 求每个位置右边最多可站多少人 含自己 dp2 选择第 i 个位置不移动的情况下 合唱队所能站的人数 dp1 i dp2 i
  • 学习文件day20--关于File

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