文件操作——IO(代码演示)

本文介绍了文件系统的概念,包括狭义和广义的文件,并详细讲解了文件的树形结构和目录管理。接着,重点阐述了文件路径的绝对路径和相对路径。在IO部分,解释了输入输出流的概念,通过字节流和字符流的实例展示了如何进行文件的读写操作。最后,讨论了存储的分类,强调了内存和外存的区别。
摘要由CSDN通过智能技术生成

1.认识文件系统

文件分为狭义上的文件和广义上的文件
狭义上的文件:
就是像硬盘这种可以持久化储存的I/O设备,文件夹等等
广义上的文件:
操作系统将网卡,键盘等等,都抽象成了文件。方便使用

1.结构和目录

文件的结构是一种树形结构来组织的,是N叉树
目录就是将一个个文件夹组织起来

2.文件路径

分为绝对路径和相对路径
绝对路径
在这里插入图片描述
相对路径
在这里插入图片描述
相对路径的表示是./IDEA/InteIIiJ IDEA …
用./来表示相对路径。

2.IO

翻译一下就是输入操作和输出操作,是一种流(Stream)
有两种输入流和输出流。分别问字节流和字符流。
字节流:
输入表示 InputStream ,输出表示OutputStream 他们两个都是抽象类,所有要实例化的话要使用已经实现了他们的类
分别为FileInputStream和FileOutputStream。

import java.io.*;

//读一个文件 用字节流读文件  打开 读文件 关闭
public class Demo7 {
    public static void main(String[] args) throws IOException {
        //打开文件
        InputStream inputStream = new FileInputStream("./test.txt");//InputStream是抽象类 不能实例化
        while(true){
            int tmp = inputStream.read();//读文件
            if(tmp == -1){
                //为-1说明读完了 读文件读出的是字节码
                break;
            }
            System.out.println(tmp);
        }
    inputStream.close();//文件关闭
    }
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

//写文件 字节流写文件
public class Demo8 {
    public static void main(String[] args) throws IOException {
        OutputStream outputStream = new FileOutputStream("./test.txt");
        //使用outputStream写文件的时候 打开文件成功后 会把文件原来的内容清空
        outputStream.write(97);
        outputStream.write(98);
        outputStream.write(99);
        outputStream.close();
    }
}

记得处理异常

字符流:
输入表示 Reader,输出表示Writer,
使用是也是 FileReader和FileWriter。

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

//用字符流读文件
public class Demo9 {
    public static void main(String[] args) throws IOException {
        Reader reader = new FileReader("./test.txt");
        while(true){
            int n = reader.read();
            if(n == -1){
                break;
            }
            System.out.println((char)n);
        }
        reader.close();
    }
}

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

//字符流 写文件
public class Demo10 {
    public static void main(String[] args) throws IOException {
        Writer writer = new FileWriter("./test.txt");
        writer.write("哈哈哈");
        writer.close();
    }
}

3.存储和硬盘

存储分为了内存和外存
文件保存在外存中。
内存就是内存条,外存是硬盘。
内存的存储空间<外存的存储空间
内存的读写速度>外存的读写速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

keild

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值