JavaAPI -- File对象使用及详解

简介: JavaAPI -- File对象使用及详解

一、File类

1. 什么是API

API:应用程序接口,java中所有系统定义的接口和类全部在API中;

  • Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。
  • Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
  • 在java中,不管是文件还是文件夹都是叫做File对象File类只用于表示文件(目录)的信息(名称/大小等), 不能用于文件内容的访问。

2. File类

       描述:所属io包,File是文件和文件夹的抽象形式,java把电脑中的文件封装为一个File类。        作用:用来操作硬盘上的文件和文件夹

 2.1File构造方法

  File( String pathname ) :

  • 根据文件路径字符串创建文件对象 File(File parent , String child);
  • 根据父路径和子路径字符串创建文件对象

  2.2 .创建文夹功能boolean.createNewFile();

  • 根据文件路径创建文件对象
  • 如果文件存在什么都不做,返回false,则反之…
  • 只能用来创建文件

  2.3 创建文件夹功能boolean.mkdir();

  • 只能创建单级文件夹
  • 只能用来创建文件夹
  • boolean.mkdirs(); 可以创建单级和多级文件夹

  2.4.删除功能boolean.delete();

       如果删除的是文件夹,则文件必须是空文件夹否则不能删除

3. File获取功能

(1)long length() :获取文件大小

(2)String getName() :获取文件夹和文件名字

(3)String geiParent() : 获取父路径字符串

(4)File getParentFile() :获取父路径文件对象

(5)String getAbsolutePath : 获取绝对路径字符串

(6)long lastModified() :获取文件最后的修改时间

4. File判断功能

(1)boolean exists() :判断文件或文件夹是否存在

(2)boolean isFile() : 判断是否是文件

(3)boolean isDirectory() :判断是否是文件夹

(4)boolean isHidden() :判断是否是隐藏文夹

5. List获取功能

(1) S tring list() :获取文件下面所有的文件名字

(2) F ile[] lsitFiles() :获取当前文件夹下的所有文件对象;

(3) String listRoots() :获取当前系统的盘符

6. File类使用实例

import java.io.File;
public class FileOperations {
    public static void main(String[] args) {
        // 指定一个文件路径
        String filePath = "C:/example.txt";
        // 创建一个JavaApiFile对象
        File file = new File(filePath);
        // 检查文件是否存在
        if (file.exists()) {
            System.out.println("文件名:" + file.getName());
            System.out.println("文件路径:" + file.getPath());
            // 如果是文件而不是目录,则打印文件大小
            if (file.isFile()) {
                System.out.println("文件大小:" + file.length() + "字节");
            }
        } else {
            System.out.println("文件不存在。");
        }
    }
}

其他方法就不一一列举,自行实践🫰

二、递归算法

       概述:方法自身调用自己就称为递归

       递归的分类:

  1. 直接递归:方法A调用方法A
  2. 间接递归:方法A 调用方法B

主意: 1. 递归必须有出口(结束递归的条件)

           2. 构造方法不能使用递归

三、扩展内容

     1.文件选择器(FileChooser)

概述:打开文件或文件夹、保存文夹或文件夹;

常用的方法:

  1. setFileSelectionMode( int mode ) : 设置用户只能选择文件或目录
  2. showOpenDialog(stage) : 弹出一个打开文件对话框
  3. showSaveDialog(stage) : 弹出一个保存文件对话框
  4. setMusltiSelectionEnabled(boolean b ) :设置文件选择器,允许选择多个文件

      2.Calendar 日历类 :

       Calendar cd = Calendar.getInstance();

  • 把 l ong类型的最后修改时间转为Date类型 Date fileTime = cd.getTime();
  • 获取当前日期 cd.setTime(new Date());
  • 当前日期减去1个月,即一个月之前的时间cd.add(Calendar.MONTH,-1)
  • 获取Date类型的一个月前的日期 Date lastMonth = cd.getTime();

       3. 位、字节、字符

       1. 字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节 等于八位。

       2.字符(Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、’$’、’&'等。一般在英文状态下一 个字母或字符占用一个字节,一个汉字用两个字节表示。

       4. 字节与字符

  • ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。
  • UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。
  • Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
  • 符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号. 占1个字节的大小,中文句号 。占2个字节的 大小。
  • UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要2 个字节(Unicode 扩展区的一些汉字存储需要4 个 字节)。
  • UTF-32 编码中,世界上任何字符的存储都需要4 个字节。
相关文章
|
8月前
|
人工智能 自然语言处理 数据可视化
Java与AI的深度融合:JBoltAI赋能基础AI能力探索
本文介绍JBoltAI框架如何赋能Java开发者快速构建AI应用,涵盖数据管理、可视化、OCR识别、Text2SQL/JSON、流式对话及多模态交互等核心能力,并支持20+大模型无缝接入,推动Java迈向AIGS新时代。(239字)
467 3
|
3月前
|
人工智能 JavaScript 测试技术
推荐一款开源工具:让 AI Agent 替你做 iOS、Android 自动化测试,能平替 Appium?
Appium统治移动端自动化测试12年,但脚本复杂、维护成本高。新开源工具agent-device(Callstack出品)开启范式革命:专为AI Agent设计,通过语义化元素引用(@e1)、全链路证据采集、探索→回放机制,让AI“看懂”界面自主操作,非Appium替代品,而是下一代智能测试基础设施。
561 0
|
3月前
|
数据采集 人工智能 缓存
1688 图搜 API 实战|从一张竞品图片,实现全自动溯源货源 + 跨平台快速上货
本方案介绍基于1688图搜API的自动化选品上货系统,支持图片上传→智能识图→货源匹配→数据采集→多平台批量铺货全流程。涵盖官方与第三方接口对比、风控策略、版权规避及SaaS/单机两种部署模式,助力无货源商家降本增效。
556 0
|
8月前
|
机器学习/深度学习 人工智能 算法
基于风光储互补微电网建模与仿真分析(Simulink仿真实现)
基于风光储互补微电网建模与仿真分析(Simulink仿真实现)
602 3
|
11月前
|
人工智能 算法 安全
校园社交异常智能监测方案:AI 守护系统,让 “边缘” 学生不再孤单
AI智能守护系统,以姿态识别与行为分析技术主动发现校园中社交退缩学生。通过匿名化处理保障隐私,结合多维数据构建“孤立指数”,精准预警并推送温和干预建议,助力学校实现从被动响应到主动关怀的转变,织密心理健康防护网。
678 0
|
人工智能 自然语言处理 数据挖掘
Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
在即将发布的 Apache Doris 4.0 版本中,我们正式引入了一系列 LLM 函数,将前沿的 AI 能力与日常的数据分析相结合,无论是精准提取文本信息,还是对评论进行情感分类,亦或生成精炼的文本摘要,皆可在数据库内部无缝完成。
821 0
Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
|
存储 NoSQL Dubbo
Java主流分布式解决方案多场景设计与实战
本文介绍了Java领域的主流分布式技术,涵盖分布式服务框架(如Dubbo、Spring Cloud)、分布式数据存储(如Redis、MongoDB)、分布式锁(如ZooKeeper、Redisson)及分布式事务(如Seata、Hmily),并通过电商项目案例分析了这些技术在实际开发中的应用,帮助开发者应对高并发与大数据挑战。
574 0
|
机器学习/深度学习 JSON 自然语言处理
小模型,大用途!用于结构化输出的小型语言模型
小型语言模型(SLM)通常被用于端侧推理,搜索推荐query改写这类对于资源要求低,大规模并发时延要求高的场景
542 0