目录
IO流的基本概念
IO流体系结构
FileOutputStream字节输出流
构造方法
成员方法
细节
关流
FileInputStream字节输入流
构造方法及成员方法
read不带参数代码示例
read带参数代码示例编辑
将字节数组或字符数组转成字符串
FileReader 字符输入流
构造方法和成员方法
成员方法代码示例(和字节输入流类似)
FileWriter字符输出流
IO流的基本概念
IO流中的I是input,指的是输入,又叫读取,当java程序需要读取数据库的数据时,可以开通一个输入流管道,让java程序和数据库建立关联
IO流中的O是output,指的是输出,又叫写出,当java程序需要向数据库中写入数据时,可以开通一个输出流管道,让java程序和数据库建立关联
OI流可用于数据传输
IO流体系结构
Java中的流对象大体分为两大类:字节流(万能流)和字符流
字节流可以操作任意类型的文件,但是操作纯文本文件的时候,可能会出现乱码问题。所以凡是纯文本文件,都用字符流
FileOutputStream字节输出流
构造方法
输出流关联文件,若文件不存在,会自动创建文件
成员方法
第三个方法中,第二个参数off表示从哪个位置开始写,第三个参数len表示写多少个
细节
输出流关联文件, 文件如果不存在: 会自动创建出来
如果文件存在: 会清空现有的内容, 然后再进行写入操作,若想不清空文件内容直接追加,则需要将构造函数的第二个参数写为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);
}
}
关流
在JDK7版本之前,标准关流操作需要用到普通的try-catch方法,语法繁琐,了解即可
JDK7版本之后
FileInputStream字节输入流
构造方法及成员方法
read不带参数代码示例
read带参数代码示例
将字节数组或字符数组转成字符串
FileReader 字符输入流
构造方法和成员方法
成员方法代码示例(和字节输入流类似)
FileWriter字符输出流