java.io.OutputStream & java.io.FileOutputStream

时间:2023-03-09 08:02:50
java.io.OutputStream & java.io.FileOutputStream

java.io.OutputStream & java.io.FileOutputStream

1、Java.io.OutputStream(字节输出流)

字节输出流,这是一个抽象类,是表示输出字节流的所有类的超类。下面是该类的子类都共有的方法:

方法 作用
public void close() 关闭输出流并释放与此流相关的任何系统资源
public void flush() 刷新输出流,并强制任何缓冲的输出字节被写出
public void write(byte[] b) 将b.length字节从指定的字节数组写入此输出流,内存写到硬盘
public void write(byte[] b, int off, int len) 从指定的b字节数组写入len字节,从偏移量off开始输出到此输出流
public abstract void write(int b) 将指定的字节输出到流

2、java.io.FileOutputStream extends OutputStream

构造方法 作用
FileOutputStream(String name) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,则覆盖
FileOutputStream(File file) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,则覆盖
FileOutputStream(String name, boolean append) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,append为true则在原文件追加写,否则创建新文件,覆盖原文件
FileOutputStream(File file, boolean append) 创建一个有指定名称的文件,把FileOutputStream对象指向创建好的文件,如果文件已存在,append为true则在原文件追加写,否则创建新文件,覆盖原文件

参数:String name(写入的目的地是一个文件的路径)

File file(写入数据的目的地是一个文件)

构造方法的作用

  • 创建一个FileOutputStream对象
  • 根据构造方法传递的文件,文件路径创建一个文件
  • 将FileOutputStream对象指向创建好的文件

3、写入数据的原理(内存 --> 硬盘文件)

java程序 --> JVM --> OS --> OS调用写数据的方法 --> 把数据写入到文件

4、字节输出流的使用步骤

  • 创建一个FileOutputStream对象,构造方法中传递文件路径或者文件
  • 调用FileOutputStream对象的方法write,把数据写入到文件
  • 使用完毕要清空内存,释放资源
package cn.zhuobo.day14.streamOutput;

import java.io.FileOutputStream;
import java.io.IOException; public class Demo01FileOutputStream {
public static void main(String[] args) throws IOException {
// 创建一个FileOutputStream对象,构造方法中传递文件路径或者文件
FileOutputStream fos = new FileOutputStream("/home/zhuobo//Desktop/a.txt"); // 调用FileOutputStream对象的方法write,把数据写入到文件,指定的字节97 是 a
fos.write(97);
// 释放资源,close流
// fos.close();
byte[] bytes = {97, 98, 99, 100};// abcd
//fos.write(bytes);// aabbc
//fos.close();
fos.write(bytes, 1, 2);// bc
// 写入字符串
String str = "hello";
byte[] bytes1 = str.getBytes();// 字符串转化为字符数组再写入
fos.write(bytes1);
fos.write("\n".getBytes());// 换行
fos.close();
}
}