file 文件

1. File表示什么?
File对象表示路径,可以是文件、也可以是文件夹。这个路径可以是存在的,也可以是不存在的
2.绝对路径和相对路径是什么意思?
绝对路径是带盘符的。
相对路径是不带盘符的,默认到当前项目下去找。

3.File三种构造方法的作用?
 

public File(String pathname)把字符串表示的路径变成File对象
public File(string parent,string child)把父级路径和子级路径进行拼接
public File(File parent,string child)把父级路径和子级路径进行拼接

// 文件路径名
String pathname = "D:\\aaa.txt";
File file1 = new File(pathname); // 文件路径名
String pathname2 = "D:\\aaa\\bbb.txt";
File file2 = new File(pathname2); // 通过父路径和子路径字符串String parent = "d:\\aaa";String child = "bbb.txt";File file3 = new File(parent, child);// 通过父级File对象和子路径字符串
File parentDir = new File("d:\\aaa");
String child = "bbb.txt";
File file4 = new File(parentDir, child);
  1. 一个File对象代表硬盘中实际存在的一个文件或者目录。

  2. 无论该路径下是否存在文件或者目录,都不影响File对象的创建。

常见方法:

方法名称说明
public boolean createNewFile()创建一个新的空的文件
public boolean mkdir()创建单级文件夹
public boolean mkdirs()创建多级文件夹
public boolean delete()删除文件、空文件夹
public File[] listFiles()获取当前该路径下所有内容
public static File[] listRoots()列出可用的文件系统根
public string[ ] list()获取当前该路径下所有内容
public string[ ] list(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FileFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter  filter)利用文件名过滤器获取当前该路径下所有内容

一、判断、获取

        public boolean isDirectory()            判断此路径名表示的File是否为文件夹
        public boolean isFile()                     判断此路径名表示的File是否为文件
        public boolean exists()                     判断此路径名表示的File是否存在

        public long length()                        返回文件的大小(字节数量)
        public String getAbsolutePath()     返回文件的绝对路径
        public String getPath()                   返回定义文件时使用的路径
        public String getName()                 返回文件的名称,带后缀
        public long lastModified()               返回文件的最后修改时间(时间毫秒值)

 1.length  返回文件的大小(字节数量)
        细节1:这个方法只能获取文件的大小,单位是字节
        如果单位我们要是M,G,可以不断的除以1024
        细节2:这个方法无法获取文件夹的大小
        如果我们要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起。

2.getName 获取名字
        细节1:
        a.txt:
             a 文件名
              txt 后缀名、扩展名
        细节2:
        文件夹:返回的就是文件夹的名字

二、创建、删除

public boolean createNewFile()              创建一个新的空的文件
public boolean mkdir()                             创建单级文件夹
public boolean mkdirs()                           创建多级文件夹
public boolean delete()                            删除文件、空文件夹

3.createNewFile 创建一个新的空的文件
        细节1:如果当前路径表示的文件是不存在的,则创建成功,方法返回true
              如果当前路径表示的文件是存在的,则创建失败,方法返回false
        细节2:如果父级路径是不存在的,那么方法会有异常IOException
        细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件

4.mkdir   make Directory,文件夹(目录)
        细节1:windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false
        细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹。

5.mkdirs   创建多级文件夹
        细节:既可以创建单级的,又可以创建多级的文件夹

6. public boolean delete()             删除文件、空文件夹
        细节:
            如果删除的是文件,则直接删除,不走回收站。
            如果删除的是空文件夹,则直接删除,不走回收站
            如果删除的是有内容的文件夹,则删除失败

三、获取并遍历

public File[] listFiles()       获取当前该路径下所有内容

作用:获取aaa文件夹里面的所有内容,把所有的内容放到数组中返回

file依次表示aaa文件夹里面的每一个文件或者文件夹

重点:

  • 当调用者File表示的路径不存在时,返回null
  • 当调用者File表示的路径是文件时,返回null
  • 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
  • 当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
  • 当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
  • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null
     

public static File[] listRoots()                列出可用的文件系统根
public String[] list()                          获取当前该路径下所有内容
public String[] list(FilenameFilter filter)     利用文件名过滤器获取当前该路径下所有内容
(掌握)public File[] listFiles()                获取当前该路径下所有内容
public File[] listFiles(FileFilter filter)      利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter filter)  利用文件名过滤器获取当前该路径下所有内容

String[] arr3 = f2.list(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {File src = new File(dir,name);return src.isFile() && name.endsWith(".txt");}});

accept方法的形参,依次表示aaa文件夹里面每一个文件或者文件夹的路径
        参数一:父级路径
        参数二:子级路径
        返回值:如果返回值为true,就表示当前路径保留
               如果返回值为false,就表示当前路径舍弃不要

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机中英文术语对照表

计算机中英文术语对照表 分类 编程技术 win: Windows 操作系统;mac: macOS(操作系统)。 英文(English)中文一(港台地区)中文二Abstract摘要;抽象的摘要;抽象的Abstract…

大数据分析_PySpark中类Pandas的df.loc操作(行列定位)

大数据分析_PySpark中类Pandas的df.loc操作(行列定位) 在 PySpark 3.0.3 中, 虽然没有直接类似于 Pandas 中 df.loc 的函数, 但可以通过使用 PySpark 的 select 和 filter 操作来达到类似的功能。 select 用于选择列, 而 filter 用于按条件筛选行。 下面是一个简单的例子, 演…

Spring声明式事务以及事务传播行为

Spring声明式事务以及事务传播行为 Spring声明式事务1.编程式事务2.使用AOP改造编程式事务3.Spring声明式事务 事务传播行为 如果对数据库事务不太熟悉,可以阅读上一篇博客简单回顾一下:MySQL事务以及并发访问隔离级别 Spring声明式事务 事务一般添加到…

VSCODE使用VSIX安装扩展

VSCode安装扩展特别慢,使用命令行安装告别龟速: code --install-extension当然,我这个是在WSL 的linux上安装的,Windows一样的。 VSCode扩展商店网页链接:https://marketplace.visualstudio.com/vscode

号卡极团分销管理系统 index.php SQL注入漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

二十、Rust AOP 切面增强

用过 java spring 的同学,应该会对 AspectJ 的 前置、后置、环绕 增强 念念不忘,巧了 rust 也有类似能力,稍显不同的是,为了向 “零成本抽象” 靠齐,Rust 的 “增强” 是在编译期 完成的。 编译期生成,则离…

数字信号处理实验---FFT分析

一、题目: 二、实验要求: 1、绘制图形时,尽量选用已经提供的函数。 2、所有的图形,需要加上横坐标、纵坐标以及标题的说明。 3、将设计的程序保存为脚本文件,在实验报告中,需写出程序语句。 4、Matlab程…

ECC升级S/4HANA“沙箱模拟方案包“:更适用于升级环境复杂、体量大的客户

“作为一家业务体量大的公司,分支机构众多、数据复杂,想从ECC升级会有什么风险?”面对技术更新换代、公司业务不断扩展、网络安全问题的日益突出,将ECC升级到S/4HANA是企业的当务之急。为解决客户的顾虑,无论是对于历史…

51单片机入门_江协科技_19~20_OB记录的笔记

19. 串口通讯 19.1. 串口介绍: •串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。 •单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的…

设计模式总结-建造者模式

建造者模式 模式动机模式定义模式结构模式分析建造者模式实例与解析实例:KFC套餐 模式动机 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种…

使用labelImg标注yolov5数据集并在kaggle中使用yolov5

使用labelImg标注yolov5数据集并在kaggle中使用yolov5 文章目录 前言一、labelImg标注1.1. 下载exe文件1.2. labelImg 下载(源码)1.3. 环境配置1.4. 使用1.4.1. 设置1.4.2. 导入图片并标注 二、在kaggle中使用2.1. 下载源码2.2. 编辑配置文件2.3. 将压缩…

[蓝桥杯 2017 国 C] 合根植物

[蓝桥杯 2017 国 C] 合根植物 题目描述 w 星球的一个种植园,被分成 m n m \times n mn 个小格子(东西方向 m m m 行,南北方向 n n n 列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北…

StarRocks使用Minio备份和还原

1.安装minio Centos7安装minio-CSDN博客 minio api端口&#xff1a;9090 下文用到这个端口 必须提前创建好桶: packfdv5 名称自定义和后面对上就可以 2.创建备份仓库 格式&#xff1a; CREATE REPOSITORY <repository_name> WITH BROKER ON LOCATION "s3a:/…

支付类漏洞挖掘技巧总结

前言&#xff1a; 支付类逻辑漏洞在漏洞挖掘中是常常出现的问题之一。此类漏洞挖掘思路多&#xff0c;奖励高&#xff0c;是炙手可热的漏洞。此篇文章主要围绕挖掘支付逻辑漏洞时的一些思路分享。 支付逻辑漏洞成因&#xff1a; 支付漏洞可能由以下原因造成&#xff1a; 前…

mybatis流式游标查询-导出DB大数据量查询OOM问题

问题场景 Mysql数据处理类型分以下三种 com.mysql.cj.protocol.a.result.ResultsetRowsStatic&#xff1a;普通查询&#xff0c;将结果集一次性全部拉取到内存 com.mysql.cj.protocol.a.result.ResultsetRowsCursor&#xff1a;游标查询&#xff0c;将结果集分批拉取到内存&…

【Windows11】cmd下运行python弹出windows应用商店解决方案

【Windows11 】cmd下运行python弹出windows应用商店解决方案 大家好 我是寸铁&#x1f44a; 总结了一篇【Windows11 】cmd下运行python弹出windows应用商店解决方案✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天在安装python时&#xff0c;在命令行窗口输入如下命令&a…

tomcat中的web项目配置指引

文章目录 目录结构I server.xml 配置文件1.1 Host标签1.2 contex标签1.3 server.xml 的端口配置1.4 appBase和docBase的区别1.5 Engine标签1.6 Connector标签II Tomcat应用的配置2.1 配置虚拟路径2.2 配置连接数2.3 使用线程池2.4 配置内存大小III 预备知识

【面试经典150 | 动态规划】不同路径 II

文章目录 写在前面Tag题目1方法一&#xff1a;动态规划方法二&#xff1a;空间优化 题目2方法一&#xff1a;动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主…

启动mysql

删除C:\Program Files (x86)\MySQL\MySQL Server 5.7这个路径下的data文件夹&#xff0c;这个很难删除&#xff0c;因为一开机&#xff0c;mysql的某些服务就启动了&#xff0c;每次重新启动mysql之前&#xff0c;都要删除这个文件夹 因为这个文件夹在后端执行一些我们看不到的…

2024.3.31学习记录————树莓派4B学习一:环境配置

2024.3.31学习记录————树莓派4B学习一&#xff1a;环境配置 准备跳槽&#xff0c;重新选择方向以嵌入式为目标进行学习&#xff0c;因没有硬件基础&#xff0c;先选择了树莓派&#xff0c;准备通过树莓派开发板对驱动初步熟悉后再开始STM32和51单片机开发。 硬件配置 硬…