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语句中完成流的关闭

目录
相关文章
|
4月前
|
缓存 安全 Java
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
28 0
|
19天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
42 18
|
1月前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
105 6
【Java学习】多线程&JUC万字超详解
|
8天前
|
Java
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
这篇文章介绍了Java中FileInputStream和FileOutputStream的使用,包括如何读取和写入txt文件以及如何拷贝图片文件。
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
|
2月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
43 2
【前端学java】如何从前端视角快速学习Maven
|
2月前
|
Java
Java使用FileInputStream&&FileOutputStream模拟客户端向服务器端上传文件(单线程)
Java使用FileInputStream&&FileOutputStream模拟客户端向服务器端上传文件(单线程)
64 1
|
2月前
|
存储 算法 Java
Java零基础(1) - 从零开始学习数组
【8月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 1
|
2月前
|
Java 测试技术 开发者
Java零基础教学(07):学习正确的命名规范
【8月更文挑战第7天】Java零基础教学篇,手把手实践教学!
94 0
|
4月前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
37 1
|
4月前
|
消息中间件 负载均衡 Java
学习Java中的反应式编程
学习Java中的反应式编程
下一篇
无影云桌面