IO流(一)

2023-12-13 04:46:53

目录

一.关于IO流

二.字节流

1.FIleOutputStream(字节输出流)

1.书写步骤:

1.创建字节输出流对象

2.写数据

3.释放资源

2.书写数据的三种方式

3.换行写入数据:

4.续写

2.FileInputStream(字节输入流)

1.书写步骤

1.创建字节输入流的对象

2.读取数据

3.释放资源

2.循环读取


一.关于IO流

IO流:存储和读取数据的解决方案

i:input输入? o:output

IO流的作用;用于读写数据(本地文件,网络);

IO流的分类

纯文本文件:用windows系统自带的记事本打开并且人类能读懂的文件

例如txt文件,md文件,xml文件,lcr文件

注意:这里面的输入输出的主语是? ? ?程序

二.字节流

1.FIleOutputStream(字节输出流)

操作本地文件的字节输出流,可以把程序的数据写入本地文件中

1.书写步骤:

1.创建字节输出流对象

参数是字符串或者file对象都可以

如果文件不存在就会创建,但是要保证父类文件是存在的

如果文件已经存在,构造方法就会清空文件

2.写数据

write的方法是整数,实际上是会根据ASCII表进行转换

3.释放资源

每次使用完流都要进行释放资源

   //创建对象
        FileOutputStream fos=new FileOutputStream("a.txt");
        //写入数据
        fos.write(97);
        //释放数据
        fos.close();

2.书写数据的三种方式

FileOutputStream fos=new FileOutputStream("a.txt");
        //写出数据
        fos.write(99);
        //释放资源
        fos.close();
        byte [] bytes={97,98,99,100};

        FileOutputStream fos=new FileOutputStream("a.txt");

        fos.write(bytes);

        fos.close();
byte [] bytes={97,98,99,100,101,103};

        FileOutputStream fos=new FileOutputStream("a.txt");

        fos.write(bytes,0,3);
        //参数表示:   数组   起始索引    写入的个数

        fos.close();

3.换行写入数据:

想要换行只需要写一个换行符即可

windows操作系统:\r\n?

linux操作系统:\n

Mac操作系统:\r

FileOutputStream fos=new FileOutputStream("a.txt");
        //写出数据
        String str1="wohaoshuai";
        byte[] bytes1 = str1.getBytes();
        fos.write(bytes1);

        String str2="\r\n";
        byte[] bytes2 = str2.getBytes();
        fos.write(bytes2);

        String str3="shangmianshuodedui";
        byte[] bytes3 = str3.getBytes();
        fos.write(bytes3);


        fos.close();

4.续写

FileOutputStream有两个参数,第二个就是开关,true打开续写,false关闭续写

FileOutputStream fos=new FileOutputStream("a.txt",true);
        //写出数据
        String str1="wohaoshuai";
        byte[] bytes1 = str1.getBytes();
        fos.write(bytes1);

        fos.write(10);

        String str3="shangmianshuodedui";
        byte[] bytes3 = str3.getBytes();
        fos.write(bytes3);


        fos.close();

2.FileInputStream(字节输入流)

1.书写步骤

1.创建字节输入流的对象

如果文件不存在,直接报错

2.读取数据

一次读一个字节,读取出来的数据是在ASCII上对应的数字

读到文件末尾了就会返回-1

3.释放资源
     FileInputStream fis=new FileInputStream("a.txt");
        int r1 = fis.read();
        //如果没有数据读取则read的返回值是-1
        System.out.println(r1);
        
        
        fis.close();

2.循环读取

       FileInputStream fis=new FileInputStream("a.txt");
        int b=0;
        while((b= fis.read())!=-1){
            System.out.println((char)b);
        }
        fis.close();

文章来源:https://blog.csdn.net/Ineedmame/article/details/134956621
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。