版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块七I/O流目录/Contents01File类0203字节流字符流目录/Contents0405缓冲流数据流0607对象流CommonsIOFile类任务一File类File类是Java中用于对磁盘上的文件和目录的抽象表示形式的类,它位于java.io包中。通过实例化File对象,可以对文件或目录进行一些基本的操作,如创建、删除、重命名、判断是否存在等,下面对File类进行讲解。学习目标
先定一个小目标!掌握创建File对象,能够使用File的构造方法创建File对象掌握File类的常用方法,能够使用File类的常用方法判断和获取文件、创建和删除文件、遍历目录掌握递归文件搜索,能够调用File类的常用方法实现文件的递归搜索
创建File对象File类提供了多个构造方法用于创建File对象,常见构造方法如下表所示。方法声明功能描述File(Stringpathname)通过指定的字符串类型的文件路径创建File对象File(Stringparent,Stringchild)通过指定的字符串类型的父路径和子路径(包括文件名称)创建File对象File(Fileparent,Stringchild)通过指定的File类的父路径和字符串类型的子路径(包括文件名称)创建File对象创建File对象案例演示下面通过一个案例演示如何使用File类提供的构造方法创建一个File对象。Example01.java源代码创建File对象案例演示案例的运行结果如下图所示。File类的常用方法1.判断和获取方法在操作文件或目录的过程中,经常需要对文件或目录的信息做判断和获取操作。例如,判断给定路径下是否存在文件或目录、获取文件的名称、大小和路径等信息。这些操作可以通过File类提供的一系列判断和获取方法来实现。File类的常用方法1.判断和获取方法File类常见的判断和获取方法。方法声明功能描述booleanexists()判断File对象对应的文件或目录是否存在,若存在则返回true,否则返回falsebooleanisFile()判断File对象对应的是否是文件(不是目录),若是文件则返回true,反之返回falsebooleanisDirectory()判断File对象对应的是否是目录(不是文件),若是目录则返回true,反之返回falsebooleanisAbsolute()判断File对象对应的文件或目录是否是绝对路径booleancanRead()判断File对象对应的文件是否可以读取,若可以则返回true,反之返回falsebooleancanWrite()判断File对象对应的文件是否可以修改,若可以则返回true,反之返回falseFile类的常用方法1.判断和获取方法接上页表格。方法声明功能描述StringgetName()返回File对象表示的文件或目录的名称longlength()返回文件内容的长度(单位是字节)longlastModified()返回1970年1月1日0时0分0秒到文件最后修改时间的毫秒值StringgetPath()返回File对象对应的路径名字符串StringgetAbsolutePath()返回File对象对应的绝对路径(在Unix/Linux等系统上,如果路径是以正斜线/开始,则这个路径是绝对路径;在Windows等系统上,如果路径是从盘符开始,则这个路径是绝对路径)StringgetParentFile()返回File对象对应目录的父目录(即返回的目录不包含最后一级子目录)File类的常用方法1.判断和获取方法下面通过一个案例演示File类的判断和获取方法的使用。首先在项目的src目录下创建一个名为file的包,然后在file包中创建一个名为example的文本文件,并使用记事本打开后随便添加一些内容并保存。然后编写案例代码。Example02.java源代码File类的常用方法1.判断和获取方法案例的运行结果如下图所示。File类的常用方法2.创建和删除方法除了判断和获取已存在文件或目录的信息外,File类还提供了用于创建和删除文件或目录的方法。方法声明功能描述booleancreateNewFile()当File对象对应的文件不存在时,该方法将新建一个文件,若创建成功则返回true,否则返回false。booleanmkdir()新建一个目录,若创建成功则返回true,否则返回falsebooleanmkdirs()新建多级目录(包括创建所需但不存在的父目录),若创建成功则返回true,否则返回falsebooleandelete()删除File对象对应的文件或目录(不能删除非空目录),若删除成功则返回true,否则返回falseFile类的常用方法2.创建和删除方法下面通过一个案例演示File类的创建和删除方法的使用。Example03.java源代码File类的常用方法2.创建和删除方法案例的运行结果如下图所示。File类的常用方法2.创建和删除方法接着进入D盘下的file目录,验证文件和目录的创建结果,如下图所示。File类的常用方法3.遍历目录通常目录中可能会包含文件和子目录,此时如果想要获取目录中的所有文件和子目录的信息,就需要对目录进行遍历,File类用于遍历目录的方法如下表所示。方法声明功能描述String[]list()获取当前目录下所有的一级目录名称和文件名称到一个字符串数组中File[]listFiles()获取当前目录下所有的一级目录名称和文件对象到一个文件对象数组中上面表格中两个方法都只能返回当前目录下的一级目录或文件,也就是说,无法直接获取当前目录中子目录的内容。File类的常用方法3.遍历目录下面通过一个案例演示File类遍历目录方法的使用。Example04.java源代码File类的常用方法3.遍历目录案例的运行结果如下图所示。File类的常用方法3.遍历目录为了实现能够获取符合指定条件的文件,File类提供了一个重载的list(FilenameFilterfilter)方法,该方法接收一个FilenameFilter类型的参数,用于过滤文件名。FilenameFilter是一个接口,被称作文件过滤器,其中定义了一个抽象方法accept(Filefile,Stringname),用于依次对指定File的所有子目录或文件进行迭代。File类的常用方法3.遍历目录在调用list(FilenameFilterfilter)方法时,需要实现文件过滤器FilenameFilter,并在accept(Filefile,Stringname)方法中进行筛选,从而获得指定条件的文件。list(FilenameFilterfilter)方法的工作原理如下:调用list(FilenameFilterfilter)方法,传入FilenameFilter文件过滤器对象。遍历当前File对象所对应目录的所有子目录和文件。把代表当前目录的File对象和子目录或文件的名称作为参数,调用accept(Filefile,Stringname)方法。如果accept(Filefile,Stringname)方法返回true,就将当前子目录或文件添加入数组,否则不进行添加。File类的常用方法3.遍历目录下面通过一个案例演示如何获取指定目录下所有扩展名为“.txt”的文件。Example05.java源代码File类的常用方法3.遍历目录案例的运行结果如下图所示。递归文件搜索7.1.2节中遍历目录时获取的都是当前目录下的文件及子目录。如果想要获取当前目录下子目录中的内容,就可以使用listFiles()方法结合递归的方式进行遍历。具体步骤如下:先调用listFiles()方法,获取当前目录下的一级目录和文件,得到一个数组。遍历数组,获取数组中的File对象。判断File对象的类别。如果当前File对象是文件,则获取文件名或路径并打印;如果File对象是目录,则获取目录名或路径并打印,然后递归执行1、2、3步骤。
递归文件搜索案例演示下面通过一个案例演示如何使用递归的方式遍历目录下的所有文件及子目录。Example06.java源代码递归文件搜索案例演示案例的运行结果如下图所示。【案例7-1】文件搜索与删除工具案例描述在日常工作中,经常需要在大批量的文件中进行搜索、删除等操作。如果手动去管理批量文件,会比较浪费时间,工作量也较大。本案例要求编写一个文件搜索与删除工具,实现对批量文件的搜索与删除。具体要求如下:(1)输入指令1,代表“指定关键字搜索文件”,输入搜索的目录和关键字(多个关键字用逗号分隔),系统在指定的目录下搜索文件名包含关键字的文件,并展示其绝对路径。(2)输入指令2,代表“指定后缀名搜索文件”,输入搜索的目录和关键字,系统在指定的目录下搜索出指定后缀名的所有文件,并展示其绝对路径。【案例7-1】文件搜索与删除工具案例描述(3)用户输入指令3,代表“删除文件/目录”,此时需要用户输入需要删除的文件/目录,程序执行后会将目录以及目录下的内容全部删除。(4)用户输入指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童五官护理
- 危急值护理的风险评估
- 政教处小学廉洁教育活动方案
- 福建省厦门一中海沧校区2023-2024学年高三9月月考生物试题(解析版)
- 电解槽节能技术改造及配套项目环境影响报告书
- 广东省深圳市石厦校2026届初三中考猜题卷(一)语文试题含解析
- 浙江省温州市翔升2026届初三3月教学情况调研(一)英语试题含解析
- 山东省泰安市宁阳县2026年初三下学期第三次验收英语试题理试卷含解析
- 江苏省南通市崇川区启秀中学2026届初三语文试题下学期第四次质量检测试题含解析
- 湖南省长沙市一中学湘一南湖校2025-2026学年初三第二次模拟考试试卷语文试题含解析
- 中小学课外辅导班商业计划书
- 2025年中小学音乐教师考试题及答案
- 安徽单招医学类校考题库及答案
- 路灯材料采购合同协议
- 高丽娅教案案
- 财政电子票据培训
- 管理学控制方法:零基预算
- 二零二五年度光伏电站发电量销售及购电服务协议6篇
- 2024-2030年中国银金属含量产业未来发展趋势及投资策略分析报告
- “走进数学世界”公开课教学课件初中七年级上册
- 医疗行业法律法规解读与合规经营
评论
0/150
提交评论