Java File 核心知识点

Java File 核心知识点

一、核心类

  • java.io.File:文件 / 目录路径描述类,可判断属性、创建删除,不能读写内容
  • 字节流:FileInputStream/FileOutputStream 处理所有类型文件
  • 字符流:FileReader/FileWriter 仅处理文本文件

二、File 类常用构造

java

运行

复制代码
File file = new File("a.txt"); //相对路径
File file = new File("D:\\test\\a.txt"); //绝对路径

三、File 常用方法

判断方法

  • exists():文件是否存在
  • isFile():是否为文件
  • isDirectory():是否为文件夹

创建删除

  • createNewFile():新建空文件
  • mkdir():创建单级目录
  • mkdirs():创建多级目录
  • delete():删除文件 / 空目录

获取信息

  • getName():文件名
  • getAbsolutePath():绝对路径
  • length():文件字节大小

四、文件读写基础

1. 字节流读写

java

运行

复制代码
//写入
try(FileOutputStream fos = new FileOutputStream("b.txt")){
    fos.write("测试内容".getBytes());
}catch (IOException e){
    e.printStackTrace();
}

//读取
try(FileInputStream fis = new FileInputStream("b.txt")){
    byte[] buf = new byte[1024];
    int len;
    while((len = fis.read(buf)) != -1){
        System.out.print(new String(buf,0,len));
    }
}catch (IOException e){
    e.printStackTrace();
}

2. 字符流读写(文本专用)

java

运行

复制代码
//写入
try(FileWriter fw = new FileWriter("c.txt",true)){//true追加
    fw.write("文字内容");
}catch (IOException e){}

//读取
try(FileReader fr = new FileReader("c.txt")){
    char[] ch = new char[1024];
    int len;
    while((len = fr.read(ch))!=-1){
        System.out.print(new String(ch,0,len));
    }
}catch (IOException e){}

五、关键要点

  1. 路径分隔:Windows 用\\,通用写法/
  2. 流用完必须关闭,try-with-resources自动关流
  3. write覆盖原有内容,构造传true开启追加
  4. 字节流通用,字符流只适配 txt 等文本
  5. 所有 IO 操作必须捕获IOException异常

六、常用遍历目录

java

运行

复制代码
File dir = new File("D:\\test");
File[] files = dir.listFiles();
for(File f : files){
    System.out.println(f.getName());
}
相关推荐
今天AI了吗37 分钟前
DeepSeek Harness 深度解析:从评测架构到实战落地
java·网络·数据库·人工智能·架构·java-ee
许彰午1 小时前
27-AuthService登录链路
java·低代码·架构
泡海椒1 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
Rain的Java大神之路2 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
自动化监测Learner2 小时前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
那个松鼠很眼熟w2 小时前
4.Spring-Ai入门案例
java·人工智能·spring
计算机毕设定制辅导-无忧学长2 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒4 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
青山木4 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
玛卡巴卡ldf4 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程