java中FileOutputStream流的学习

简介: java中FileOutputStream流的学习
java中FileOutputStream字节输出流的学习
第一步:

完成FileOutputStream字节输出流的创建

第二步:

调用FileOutputStream字节输出流中的方法,完成写入的操作

*FileOutputStream流中有哪些方法?

方法 方法描述
void close(); 关闭此输入流并释放与流有关的任何系统资源
void flush(); 刷新输出流,使缓存数据被写入到流
void write(byte[] b,int off,int len); 写b.length字节输出流
void write(byte[] b); 写b.length字节输出流
void write(int b); 将指定的byte到输出流

其中所有的方法都会抛给调用者IOException编译是异常,调用者在调用的时候记得对编译时的异常进行处理,可以选择throws关键字上抛,也可以选择try-catch语句进行捕捉。

package june.selfStudy.IO;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * FileOutputStream是字节输出流,目的是将程序中的内容往磁盘上输出
 * 输出流在使用完之后,必须清空管道即调用实现的flushable接口中的flush方法来实现对管道的强行刷新。
 */
public class FileOutputStreamTest02 {
    public static void main(String[] args){
        FileOutputStream  fos  = null;
        try {
            //创建输出流对象,调用FileOutputStream当中的构造方法
            fos = new FileOutputStream("tempfile04",true);
            //查看API文档,看FileOutputStream输出流中都有什么写入的方法
            byte[] bytes = {97,98,99,100,101,102};
            //将指定数组的长度进行写入
            //第一次写入
            fos.write(bytes,0,2);//ab
            //第二次写入
            fos.write("我在学习".getBytes());//abab我在学习
            //输出流使用完之后必须强行将流管道刷新
            fos.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            //关闭流资源
            //关闭流之前先判断流是否为空,如果流对象的引用为空,那么也就没有必要关闭了
            if(fos!=null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
第四步:

输出流使用完之后一定要养成刷新的习惯

调用flush方法强行对管道进行刷新

第五步:

当流使用完之后在finally语句中完成流的关闭

目录
相关文章
|
6天前
|
设计模式 消息中间件 算法
【实习总结】Java学习最佳实践!
【实习总结】Java学习最佳实践!
24 3
|
6天前
|
数据采集 安全 Java
Java并发编程学习12-任务取消(上)
【5月更文挑战第6天】本篇介绍了取消策略、线程中断、中断策略 和 响应中断的内容
30 4
Java并发编程学习12-任务取消(上)
|
4天前
|
NoSQL 算法 Java
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
|
6天前
|
缓存 Java 数据库
Java并发编程学习11-任务执行演示
【5月更文挑战第4天】本篇将结合任务执行和 Executor 框架的基础知识,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。
34 4
Java并发编程学习11-任务执行演示
|
6天前
|
数据库连接
java+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
11 0
|
6天前
|
算法 Java 大数据
Java从入门到精通学习报告
Java从入门到精通学习报告
20 1
|
6天前
|
消息中间件 监控 安全
【JAVAEE学习】探究Java中多线程的使用和重点及考点
【JAVAEE学习】探究Java中多线程的使用和重点及考点
|
6天前
|
Java
【专栏】Java 8 的 Streams 提供了一种处理数据集合的新方式,增强了代码的可读性和可维护性
【4月更文挑战第28天】Java 8 的 Streams 提供了一种处理数据集合的新方式,增强了代码的可读性和可维护性。本文介绍了 Streams 的基本概念,如从数据源创建 Stream,以及中间和终端操作。通过过滤、映射、归并、排序、分组等案例,展示了 Streams 的使用,包括并行 Streams 提高效率。学习 Streams 可以提升代码质量和效率,文章鼓励读者在实际开发中探索更多 Streams 功能。
|
6天前
|
存储 监控 Java
Java 零基础入门学习(小白也能看懂!)四
Java 零基础入门学习(小白也能看懂!)四
|
6天前
|
存储 安全 Java
Java 零基础入门学习(小白也能看懂!)三
Java 零基础入门学习(小白也能看懂!)三