当前位置: 首页 > news >正文

JAVA SE 文件IO

文章目录

    • 📕1. File类的使用
        • ✏️1.1 构造方法
        • ✏️1.2 常用方法
    • 📕2. I/O流
        • ✏️2.1 I/O流的分类
        • ✏️2.2 I/O体系
    • 📕3. 字节流
        • ✏️3.1 InputStream类
        • ✏️3.2 OutputStream类
    • 📕4. 字符流
        • ✏️4.1 Reader类
        • ✏️4.2 Writer类

❗❗❗ 编者特别声明 : 本篇博客分享的是仅博主本人在日常开发中经常用到I/O流类 , 方法等. 并不是全部的I/O流知识

📕1. File类的使用

这里主要介绍对文件增删改查的操作 , 不是对文件中的内容进行增删改查

✏️1.1 构造方法
方法说明
File(File parent, String child)根据⽗⽬录 + 孩⼦⽂件路径,创建⼀个新的 File 实例
File(String pathname)根据⽂件路径创建⼀个新的 File 实例,路径可以是绝对路径或者相对路径
File(String parent, String child)根据⽗⽬录 + 孩⼦⽂件路径,创建⼀个新的 File 实例,⽗⽬录⽤路径表⽰
✏️1.2 常用方法
方法说明
getParent()返回 File 对象的⽗⽬录⽂件路径
getName()返回 FIle 对象的纯⽂件名称
getPath()返回 File 对象的⽂件路径
getAbsolutePath()返回 File 对象的绝对路径
getCanonicalPath()返回 File 对象的修饰过的绝对路径
exists()判断 File 对象描述的⽂件是否真实存在
isDirectory()判断 File 对象代表的⽂件是否是⼀个⽬录
isFile()判断 File 对象代表的⽂件是否是⼀个普通⽂件
createNewFile()根据 File 对象,⾃动创建⼀个空⽂件。成功创建后返回 true
delete()根据 File 对象,删除该⽂件。成功删除后返回 true
deleteOnExit()根据 File 对象,标注⽂件将被删除,删除动作会到 JVM 运⾏结束时才会进⾏
list()返回 File 对象代表的⽬录下的所有⽂件名
listFiles()返回 File 对象代表的⽬录下的所有⽂件,以 File 对象表⽰
mkdir()创建 File 对象代表的⽬录
mkdirs()创建 File 对象代表的⽬录,如果必要,会创建中间⽬录
renameTo(File dest)进⾏⽂件改名,也可以视为我们平时的剪切、粘贴操作
canRead()判断⽤⼾是否对⽂件有可读权限
canWrite()判断⽤⼾是否对⽂件有可写权限

📕2. I/O流

I/O是Input/Output的缩写。I/O技术是非常实用的技术,用于处理数据传输。如读/写文件,网络通讯等。
Java程序中,对于数据的输入/输出操作以"流(stream)" 的方式进行。
java.io包下提供了各种"流"类和接口,用以获取不同种类的数据,并通过方法输入或输出数据

✏️2.1 I/O流的分类
  1. 按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)
  2. 按数据流的流向不同分为:输入流,输出流
  3. 按流的角色的不同分为:节点流,处理流
抽象基类字节流字符流
输入流InputStreamReader
输出流OutputStreamWriter
✏️2.2 I/O体系

Java的io流共涉及40多个类,实际上非常规则,都是以上述4个抽象基类派生的

在这里插入图片描述

📕3. 字节流

✏️3.1 InputStream类

InputStream 是抽象类 , 我们现在只关心从文件中读取,所以使用 FileInputStream类实例化对象

  1. FileInputStream类的构造方法
方法说明
FileInputStream(File file)通过指定的File对象来创建输入流。
FileInputStream(String pathname)通过指定文件的路径字符串来创建输入流。
  1. FileInputStream类的常见方法
方法说明
int read()从输入流中读取一个字节的数据。
int read(byte[] b)从输入流中读取一定数量的字节到字节数组中,返回长度。
int read(byte[] b, int off, int len)最多读取 len - off 字节的数据到 b中,放在从 off 开始,返回实际读到的数量;-1 代表以及读完了
void close()关闭字节流
✏️3.2 OutputStream类

OutputStream 同样只是一个抽象类,要使用还需要具体的实现类。我们现在还是只关心写入文件中,所以使用 FileOutputStream类实例化对象

  1. FileOutputStream的构造方法
方法说明
FileOutputStream(File file)通过指定的File对象来创建输出流
FilenOutputStream(String name)通过指定文件的路径字符串来创建输出流
  1. FileOutputStream的常用方法
方法说明
write(int b)写入一个字节到文件。
write(byte[] b)将一个字节数组写入文件
write(byte[] b, int off, int len)从字节数组的指定位置开始,写入指定长度的字节到文件
close()关闭输出流,释放相关资源。

📕4. 字符流

✏️4.1 Reader类

FileReader类主要用于从文件中读取字符数据。它是一个字符输入流,继承自InputStreamReader(转换流),抽象基类为Reader。可以通过构造方法传入文件路径来创建

  1. FileReader的构造方法
方法说明
FileReader(File file)创建一个与指定文件对象相关联的FileReader。
FileReader(String fileName)创建一个与指定文件路径名相关联的FileReader
  1. FileReader的常用方法
方法说明
int read()从输入流中读取一个字符,返回该字符的整数表示(到达文件末尾返回 -1)
int read(char[] cbuf)将字符读入数组。返回读取的长度
void close()关闭该流并释放与之关联的所有资源。
✏️4.2 Writer类

FileWriter类用于将字符数据写入文件。

  1. FileWriter的常用方法
方法说明
write(int c)写入单个字符到文件中。
write(char[] cbuf)将字符数组写入文件中。
write(String str)写入字符串到文件中。
write(String str, int off, int len)写入字符串的一部分到文件中。
flush()刷新缓冲区,将数据写入文件。
close()关闭文件并释放相关资源。

相关文章:

  • 笔记: 在WPF中ContentElement 和 UIElement 的主要区别
  • MYSQL丢失pid处理方式
  • LVGL(lv_tabview)
  • 商品条形码查询接口如何用C#进行调用?
  • 【Harmony OS】组件自定义属性、事件和状态管理
  • 525全国护肤日 国际医学皮肤科助力银龄肌肤科学护肤
  • 用ChatGPT辅助UI设计:从需求分析到风格提案的提效秘籍
  • 16. Git从入门到实践
  • MySQL问题:什么是MySQL的中的最左匹配原则?
  • 钠离子电池循环寿命突破万次
  • ZAB 和 RAFT分别是什么?它们的区别是什么?
  • 振动分析 - 速度谱与加速度谱的转换
  • 08SpringBoot高级--自动化配置
  • 联想小新笔记本电脑静电问题导致无法开机/充电的解决方案
  • 【Vue 3 运行时 Diff 算法深度解析:五步走策略实现高效更新】
  • 3D虚拟工厂
  • DeepSeek 赋能智能安防:从算法革新到场景落地的全解析
  • 【Ubuntu】MySQL配置远程连接
  • OpenCv高阶(十八)——dlib人脸检测与识别
  • Conda:环境移植及更新1--使用conda-pack
  • 如何提高网站的排名/湖北网站seo
  • 二手书网站策划书/企业官网搭建
  • 政府网站/百度开户代理公司
  • 适合个人站长的网站有哪些/win7优化大师好不好
  • 今日国内新闻内容摘抄/优化网站制作方法大全
  • 无锡做网站服务/磁力兔子搜索引擎