Java:IO流——字节流和字符流

目录

IO流的基本概念

IO流体系结构

FileOutputStream字节输出流

构造方法

成员方法

细节

关流

FileInputStream字节输入流

构造方法及成员方法

read不带参数代码示例

read带参数代码示例​编辑

将字节数组或字符数组转成字符串

FileReader 字符输入流

构造方法和成员方法

成员方法代码示例(和字节输入流类似)

FileWriter字符输出流


IO流的基本概念

IO流中的I是input,指的是输入,又叫读取,当java程序需要读取数据库的数据时,可以开通一个输入流管道,让java程序和数据库建立关联

IO流中的O是output,指的是输出,又叫写出,当java程序需要向数据库中写入数据时,可以开通一个输出流管道,让java程序和数据库建立关联

OI流可用于数据传输

Java:IO流——字节流和字符流_第1张图片

IO流体系结构

Java中的流对象大体分为两大类:字节流(万能流)和字符流

字节流可以操作任意类型的文件,但是操作纯文本文件的时候,可能会出现乱码问题。所以凡是纯文本文件,都用字符流

Java:IO流——字节流和字符流_第2张图片

FileOutputStream字节输出流

构造方法

输出流关联文件,若文件不存在,会自动创建文件

Java:IO流——字节流和字符流_第3张图片

成员方法

第三个方法中,第二个参数off表示从哪个位置开始写,第三个参数len表示写多少个

Java:IO流——字节流和字符流_第4张图片

细节

                    输出流关联文件, 文件如果不存在: 会自动创建出来

                     如果文件存在: 会清空现有的内容, 然后再进行写入操作,若想不清空文件内容直接追加,则需要将构造函数的第二个参数写为true(第二个参数默认值为false)

package com.itheima.stream.output;

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo1 {
    /*
        字节流写出数据

            构造方法:
                    1. public FileOutputStream(String name) : 输出流关联文件, 文件路径以字符串形式给出
                    2. public FileOutputStream(File file) : 输出流关联文件, 文件路径以File对象形式给出

            成员方法:
                    public void write(int i) : 写出一个字节
                    public void write(byte[] bys) : 写出一个字节数组

            细节:
                    输出流关联文件, 文件如果不存在: 会自动创建出来
                                    如果文件存在: 会清空现有的内容, 然后再进行写入操作
     */
    public static void main(String[] args) throws IOException {
        // 创建字节输出流对象, 关联文件
        FileOutputStream fos = new FileOutputStream("D:\\A.txt", true); //true:追加,避免写入时清空文件

        byte[] bys = {97, 98, 99};

        // 写出数据
        fos.write(97);
        fos.write(98);
        fos.write(99);
        fos.write(bys);
        fos.write("你好你好".getBytes()); //字符串的getBytes方法可将字符串转换成字节数组
        fos.write(bys, 1, 2);
    }
}

关流

Java:IO流——字节流和字符流_第5张图片

 在JDK7版本之前,标准关流操作需要用到普通的try-catch方法,语法繁琐,了解即可

JDK7版本之后

Java:IO流——字节流和字符流_第6张图片

FileInputStream字节输入流

构造方法及成员方法

Java:IO流——字节流和字符流_第7张图片

Java:IO流——字节流和字符流_第8张图片 

read不带参数代码示例

Java:IO流——字节流和字符流_第9张图片

 

read带参数代码示例Java:IO流——字节流和字符流_第10张图片

将字节数组或字符数组转成字符串

Java:IO流——字节流和字符流_第11张图片

FileReader 字符输入流

构造方法和成员方法

Java:IO流——字节流和字符流_第12张图片

成员方法代码示例(和字节输入流类似)

Java:IO流——字节流和字符流_第13张图片 

FileWriter字符输出流

Java:IO流——字节流和字符流_第14张图片

Java:IO流——字节流和字符流_第15张图片 

你可能感兴趣的:(java,开发语言)