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


    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();//文件关闭
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    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();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    记得处理异常

    字符流:
    输入表示 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();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    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();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.存储和硬盘

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

  • 相关阅读:
    广告组可能不会获得任何线索怎么解决?
    原创工具14Finger-全能web指纹识别与分享平台
    大带宽服务器的作用有哪些?
    KO88 冲销内部订单
    使用Open Scene Graph(OSG)库将现有PageLOD模型增加一个平移量,并保存为记录子模型相对路径的模型
    “威胁”员工全来上班后,马斯克“尴尬”了:车没地停、工位不够坐、Wi-Fi 还太差
    引入css(层叠样式表)文件的三种方法
    linux awk操作汇总(忘了来这里查)
    利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
    tomcat端口冲突怎么办?强制关闭端口的进程!
  • 原文地址:https://blog.csdn.net/m0_61761695/article/details/127409597