【文件IO】学习文件IO,让你从操作系统内核的角度去理解输入和输出(Java实践篇)

本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

引言

在数字化时代,数据的存储、访问与处理已成为推动科技进步与社会发展的核心动力。

想象一下,从个人电脑的文档管理到企业级的数据中心,从智能手机上的照片备份到云端服务的海量数据存储,无一不依赖于一个关键而基础的技术—— 文件输入输出(File IO)

文件IO,作为连接数据世界与现实世界的桥梁,其重要性不言而喻。它不仅关乎数据的安全与效率,更是各类应用程序、操作系统乃至整个信息技术架构的基石。

让我们一同踏入这场探索之旅,揭开文件IO技术的神秘面纱,共同见证数据如何在指尖流转,成为推动世界前行的强大力量。

本篇文章中我们讲学习到以下内容

目录

  1. 文件系统操作

  2. 文件内容操作

  3. 文件综合运用操作

一. 文件系统操作

对于一个文件来说,我们可以得到一个文件的各种属性: 文件名,文件目录,文件路径。这里的就涉及到文件系统操作。

1. File类

Java标准库 中就封装了一个 FIle类 来获取文件的各种信息和属性

来自 java.io.File 这个包。

在这里插入图片描述

2. 常用方法

而作为一个后端开发的程序猿我们只需要了解 Java标准库 中的 File 类 中常用的几个方法即可:

  • 得到该 对象的文件名和上一个路径的文件

在这里插入图片描述

  • 得到该 对象的路径

在这里插入图片描述

  • 判断该对象是否是 绝对路径 或者 是否是一个目录

在这里插入图片描述

  • 判断该对象是否是 一个文件

在这里插入图片描述

  • 得到该目录下的 所有文件和目录

在这里插入图片描述

3. 代码演示

package FileDemo;

import java.io.File;
import java.io.IOException;



public class MyFileTest {
   
    public static void main(String[] args) throws IOException {
   
        File file = new File("./demo.txt");

//        得到文件的绝对路径
        System.out.println(file.getAbsoluteFile());

//        判断是否是目录
        if (file.isDirectory()) {
   
            System.out.println("是目录!");
        } else {
   
            System.out.println("不是目录!");
        }

//        判断是否是路径
        if (file.isAbsolute()) {
   
            System.out.println("是路径!");
        } else {
   
            System.out.println("不是路径!");
        }

//        得到上一级的文件
        File[] files = file.getParentFile().listFiles();


//        开始遍历
        for (File f : files) {
   
//           判断是否是文件
            if (f.isFile()) {
   
                System.out.println(f.getName());
            }
        }


    }
}

在这里插入图片描述

在上面的演示中

主要分为两部进行

  1. 文件对象的实例
File file = new File("./demo.txt");
  1. 进行各种文件系统操作
//        得到文件的绝对路径
        System.out.println(file.getAbsoluteFile());

等… 这些操作将在下面内容中结合 文件内容操作 一起配合使用~

鱼式疯言

  1. 使用 File 类来实例化对象 时, 也是会成功的,

但需要判断的是是否是 符合要求目录路径

  1. 需要抛出 异常 IOException 这个异常, 并且导入 Java.io.IOException 这个包.

二. 文件内容操作

在文件内容操作的之前,小伙伴们必须先了解一下流对象,以及流对象的表示形式。

1. 流对象

什么是流 ? ? ?

流可以说水流,气流等…

但在文件IO这里,流的作用主要是处理各种各样的文件形式而形成的一种 统一的概念

而流分为两种:

1) 字节流

2) 字符流

<1>. 字节流

字节流的含义就好比现在你有一百个字节数据

如果一个字节一个字节取,就需要取一百次;
如果五个字节五个字节取,就需要取二十次;
如果十个字节十个字节取,就需要取十次;
如果二十个字节二十个字节取,就需要取五次;
如果一百个字节一百个字节取,只需取一次。

这就是字节流,先把数据 以字节为基本单位 进行划分,根据 需求 得到每次 需要取出字节的个数 来进行 文件IO内容操作

代表的类:

  • 以字节为单位的读操作的类

InputStream

  • 以字节为单位的写操作的类

OutputStream

<2>. 字符流

字符流的含义就好比现在你有一百个字符数据

如果一个字符一个字节取,就需要取一百次;
如果五个字符五个字节取,就需要取二十次;
如果十个字符十个字节取,就需要取十次;
如果二十个字符二十个字节取,就需要取五次

评论 71
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邂逅岁月

感谢干爹的超能力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值