File类总结

2023-11-06

File类

构造方法

        public File(String pathname)
            通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 如果给定的字符串是空字符串,则结果是空的抽象路径名。
        public File(String parent,String child)
            从父路径名字符串和子路径名字符串创建新的File实例。
        public File(File parent,String child)
            从父抽象路径名和子路径名字符串创建新的File实例。

创建功能

        public boolean createNewFile()创建一个文件
        public boolean mkdir()创建一个文件夹
        public boolean mkdirs()创建多级文件夹

删除功能

public boolean delete()删除文件或文件夹

注意:要删除文件夹时必须保证其目录为空

重命名功能

public boolean renameTo(File dest)

        File file = new File("E:\\ftm.jpg");
        //现在我想重命名为冯提莫.jpg
        File file1 = new File("E:\\冯提莫.jpg");
        System.out.println(file.renameTo(file1));

判断功能

        public boolean isDirectory()判断是否是文件夹
        public boolean isFile()判断是否是文件
        public boolean exists()判断是否存在
        public boolean canRead()判断是否可读
        public boolean canWrite()判断是否可写
        public boolean isHidden()判断是否被隐藏

基本获取功能

        public String getAbsolutePath()获取绝对路劲
        public String getPath()获取相对路径
        public String getName()获取名称
        public long length()    获取的长度是字节数
        public long lastModified()    返回的是一个时间戳

高级获取功能

    public String[] list()获取指定目录下的所有文件和文件夹的名称组成的数组
    public File[] listFiles()获取指定目录下的所有文件和文件夹形成的File对象数组

代码示例

判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称`

import java.io.File;

/*
    需求:判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称
        1、将D盘根目录封装成一个File对象
        2、获取该目录下所有的文件或者文件夹组成的File对象数组
        3、遍历File数组,得到每一个File对象,然后判断是否是文件
            是:继续判断是否以.jpg后缀
                是:输出名称
                不是:不管他
            不是:不管他
 */
public class FileDemo8 {
    public static void main(String[] args) {
        File file = new File("D:\\");
        File[] files = file.listFiles();
        for(File f : files){
            if(f.isFile()){
                if(f.getName().endsWith(".jpg")){
                    System.out.println(f.getName());
                }
            }
        }
    }
}

文件名称过滤器的实现思想及代码

import java.io.File;
import java.io.FilenameFilter;

/*
        判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称
        1、先获取所有的文件和文件夹,然后在遍历的时候,再去判断是否是文件,是否是.jpg后缀的,最后再将满足条件的文件过滤出来获取到名称。
        2、在获取的时候,获取到的数据就是满足条件的,我们直接输出就可以了。

        文件名称过滤器的实现思想及代码
        public String[] list(FilenameFilter filter)
        public File[] listFiles(FilenameFilter filter)

 */
public class FileDemo9 {
    public static void main(String[] args) {
        //创建File对象
        File file = new File("D:\\");

        //public String[] list(FilenameFilter filter)
        String[] list = file.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
//                return false;
//                return true;
                //通过测试发现,目录下的文件或者文件夹该不该获取到,却决于这里的返回值
                //true,就获取到加到数组,如果是false,就不获取,不加到数组中
//                System.out.println(dir);
//                System.out.println(name);
                File file1 = new File(dir, name);
                boolean b = file1.isFile();
                boolean b1 = name.endsWith(".jpg");
                return b && b1;
            }
        });

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

File类总结 的相关文章

  • “JSONArray 文本必须在 null 的第 1 个字符处以 '[' 开头”

    只是想知道这个错误可能意味着什么 我从下面的代码中得到它 try JSONArray jArray new JSONArray result for int i 0 i
  • 使用 java 删除 XML 根的子级

    这是我的 xml 文件
  • Java Swing BoxLayout 忽略 AlignmentX

    在下面的代码中 通过调用setAlignmentX with Component LEFT ALIGNMENT我希望在居中的滑块上获得左对齐的标签 由于某种原因 标签也居中 似乎与传递给 setAlignmentX 的值无关 我必须向 se
  • 不支持的字段:将瞬间格式化为日期 ISO 时的年份[重复]

    这个问题在这里已经有答案了 我正在尝试将 Instant 格式化为 ldap 日期 ISO8601 但在 f format Instant now 处失败 String input 20161012235959 0Z DateTimeFor
  • Java,顺序流在哪个线程中执行?

    在阅读有关流的文档时 我遇到了以下句子 attempting to access mutable state from behavioral parameters presents you with a bad choice if you
  • 了解 netty 通道缓冲区和水印

    我正在尝试了解网络缓冲区和水印 作为一个测试用例 我有一个 netty 服务器 它向客户端写入数据 客户端被阻止 基本上每次读取之间有 10 秒的睡眠时间 在正常 I O 下 如果接收方被阻塞 TCP 发送方将受到限制 由于流量控制 发送速
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • Hashset - 创建 Set 后使对象相同

    如果我们在 HashSet 中添加两个不同的对象 可变的 然后通过调用 setter 更改对象的值 使它们相同 则大小仍然是 hashSet 的 2 我无法理解其原因 public static void main String args
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • Maven WebApp META-INF context.xml

    我正在使用 Maven 3 并且尝试在 webapp 文件夹下添加 META INF 文件夹 所以我正在尝试执行以下操作 src main webapp META INF context xml WEB INF 下面是我的 POM 文件
  • FileObserver 不适用于 Android 6.0 Marshmallow (API 23) 中的外部存储

    我有一个应用程序可以观察外部存储上的公共目录FileObserver 它运行良好Lollipop设备 我想添加对Marshmallow 所以我用它设置了一台 Nexus 9 平板电脑 在 Marshmallow 设备上 它失败 在 Loll
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • jDBI中如何进行内查询?

    我怎样才能在 jDBI 中执行这样的事情 SqlQuery select id from foo where name in
  • 了解Kafka流groupBy和window

    我无法理解 kafka 流中的 groupBy groupById 和窗口的概念 我的目标是聚合一段时间内 例如 5 秒 的流数据 我的流数据看起来像 value 0 time 1533875665509 value 10 time 153
  • Hibernate 标准接受 %% 值

    我正在使用下面的 Hibernate 代码来过滤workFlowName crt add Restrictions like workFlowName workFlow MatchMode ANYWHERE crt is the crite
  • 使用 Java 8 Spring 4 + MyBatis 集成问题

    使用 Java 8 1 8 0 60 Spring 4 2 1 和 MyBatis 3 3 0 时遇到以下异常 Sep 29 2015 11 02 58 AM org springframework context annotation A
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF

随机推荐

  • vue中添加在标签上增加动态属性

  • 使用python进行数据分析

    1 数据分析步骤 数据分析五个步骤 数据分析步骤 提出问题 提出一个好问题 是成功的一半 面对一堆数据 同样也需要提出问题 这样才能为后面的具体步骤找到方向和侧重点 如某游戏公司想找一位明星为其新开发的游戏进行代言 明星那么多 如何才能话最
  • Vue中使用富文本ueditor

    Vue中使用富文本ueditor解决图片上传问题 学习新内容可能少不了官方文档 目前使用的是 vue ueditor wrap 组件它对ueditor进行了二次封装 集成秀米等第三方插件也方便 https hc199421 gitee io
  • jdk-8u191-linux-x64.tar.gz ,ftp上传服务器解压安装

    官网下载jdk ftp上传服务器解压安装 1 进入 Oracle 官方网站 下载合适的 JDK 版本 准备安装 注意 这里需要下载 Linux 版本 这里以jdk 8u191 linux x64 tar gz为例 你下载的文件可能不是这个版
  • CAN 帧简介

    1 数据帧 数据帧的构成 下图中的D为显性电平 R为隐性电平 数据帧是由7个段构成 其各个段的含义如下 1 帧起始 表示数据帧开始的帧 SOF由1位显性位组成 2 仲裁段 表示该帧优先级的段 标准数据帧与扩展数据帧在此段不同 标准数据帧的仲
  • 爬取csdn的个人博客

    爬取csdn的个人博客 全文构思 本文使用账号密码进行登录 所用到的环境安装 sudo pip3 install selenium sudo pip3 install pyperclip 除此之外使用了chrome的浏览器 需要下载驱动 自
  • 俩个数组对比去重

    俩个数组去重 键值对类型的 var arr id 1 value 1 id 2 value 2 id 3 value 3 var arr1 id 1 value 1 id 4 value 4 id 5 value 5 带键值对的用 for
  • 时间序列预测算法

    图片参考博客 时间序列 时间序列预测算法总结 https zhuanlan zhihu com p 421710621 ARIMA Holt Winters Prophet算法 Facebook时间序列预测算法Prophet的研究 http
  • 微信小程序扫描普通二维码跳转到小程序指定页面

    这个功能的逻辑是什么呢 二维码就相当于是一个链接 相当于我们点击一个链接跳转到另一个页面 只不过这里是扫码的形式 如何操作 1 首先我们需要在微信公众平台的开发管理 gt 开发设置 找到 扫普通链接二维码打开小程序 点击添加 会出现下面的页
  • SpringMvc框架详解

    目录 1 概念 2 作用 3 原理 4 使用Springmvc框架 4 1创建一个maven web工程 并替换web xml文件的内容 4 2引入springmvn所依赖的jar包 4 3将DpatcherServlet注册到配置文件中
  • vue 脚手架新手入门(vue cli 3)

    文章目录 1 vue中的 绑定和 监听 1 1 v model 双向绑定 2 if else for 3 computed 计算属性 4 生命周期 属性加载顺序 5 watch 侦听器 6 components 组件 6 1 props 从
  • 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助 可以给卑微的博主留个赞 关注 收藏 不是 骗一下数据 说不定以后面试就过了 拜谢 好像有读者说现在不要积分的资源也要vip才能下 如果下不了可以留邮箱到评论区或者私聊 我也把资源放到github了 地址如下 https gi
  • 【华为OD机试】拔河比赛(C++ Python Java)2023 B卷

    题目描述 公司最近准备进行拔河比赛 需要在全部员工中进行挑选 选拔的规则如下 按照身高优先 体重次优先的方式准备比赛阵容 规定参赛的队伍派出10名选手 请实现一个选拔队员的小程序 输入为一个数组 记录了部门人员的身高 体重信息 如 身高 体
  • Unity的Time.deltaTime

    当我们在编写游戏或交互应用程序时 需要控制元素的动画 运动和其他基于时间的计算 Unity游戏引擎中的Time deltaTime属性可以帮助我们实现这样的效果 这个属性提供了两个连续帧之间的时间间隔 以便我们可以根据每帧之间的持续时间来调
  • jpg解码库移植过程详解

    1 jpg解码库的源码获取 1 可以从网站下载 http www photopost com jpegsrc v6b tar gz 2 我下面的移植过程是根据jpegsrc v6b tar gz版本的jpg解码库移植的 如果是其他版本的jp
  • maven 命令建分支步骤以及注意事项

    一 在svn创建对应的目录 branches gt 分支目录 tags gt 标签目录 当前线上项目对应的版本 trunk gt 主干目录 二 运行项目中的所有的测试用例 无报错 后 三 检查pom父级pom xml文件是否有以下配置 如无
  • JAVA字符集

    1 概述 本文主要包括以下几个方面 编码基本知识 java 系统软件 url 工具软件等 在下面的描述中 将以 中文 两个字为例 经查表可以知道其GB2312编码是 d6d0 cec4 Unicode编码为 4e2d 6587 UTF编码就
  • vue2.0 + vux (六)NewsList 资讯页 及 NewsDetail 资讯详情页

    设置代理 避免出现跨域问题 设置代理 避免出现跨域问题 proxyTable api target https www oschina net action apiv2 changeOrigin true pathRewrite api a
  • 给你一个id你会干嘛?

    信息收集 1 扫描端口 Nmap xxx xxx xxx xxx p 目录扫描 ip地址访问 操作系统 robots txt http 192 168 5 134 xxe 抓包进行判断存在xxe漏洞 查看etc passwd 查看admin
  • File类总结

    文章目录 File类 构造方法 创建功能 删除功能 重命名功能 判断功能 基本获取功能 高级获取功能 代码示例 判断D盘下面有没有 jpg后的文件 如果有 就输出此文件名称 文件名称过滤器的实现思想及代码 File类 构造方法 public