目录
IO流中的I是input,指的是输入,又叫读取,当java程序需要读取数据库的数据时,可以开通一个输入流管道,让java程序和数据库建立关联
IO流中的O是output,指的是输出,又叫写出,当java程序需要向数据库中写入数据时,可以开通一个输出流管道,让java程序和数据库建立关联
OI流可用于数据传输
Java中的流对象大体分为两大类:字节流(万能流)和字符流
字节流可以操作任意类型的文件,但是操作纯文本文件的时候,可能会出现乱码问题。所以凡是纯文本文件,都用字符流
输出流关联文件,若文件不存在,会自动创建文件
第三个方法中,第二个参数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版本之后
?
?
?