美文网首页IT@程序员猿媛
Java输出流之FileOutputStream

Java输出流之FileOutputStream

作者: 白晓明 | 来源:发表于2019-07-03 10:40 被阅读15次

上节中我们简单的了解了如何将文件内容作为字节流读取。本节我们来说说上节提到的FileOutputStream

FileOutputStream类是OutputStream的子类,其用于输出原始字节流,如图片视频等。

public class FileOutputStream extends OutputStream {}

FileOutputStream类是OutputStream的子类,其用于输出原始字节流,如图片视频等。Java API提供了5种构造器,分析源代码可以得出,无论是使用字符串类型的文件名,还是使用File对象来创建连接,最终都是利用文件描述符来建立连接。

//创建文件输出流以写入具有指定名称的文件
public FileOutputStream(String name) throws FileNotFoundException {}
//创建文件输出流以写入具体指定名称的文件,若append为true则字节将写入文件的末尾而不是开头
public FileOutputStream(String name, boolean append) throws FileNotFoundException{}
//创建文件输出流以写入由指定的File对象表示的文件
public FileOutputStream(File file) throws FileNotFoundException {}
//创建文件输出流以写入由指定的File对象表示的文件,若append为true则字节将写入文件的末尾而不是开头
public FileOutputStream(File file, boolean append) throws FileNotFoundException {}
//创建要写入指定文件描述符的文件输出流,该文件描述符表示与文件系统中实际文件的现有连接
public FileOutputStream(FileDescriptor fdObj) {}

FileInputStream中Java API提供了read()方法用于读取字节,而FileOutputStream中Java API提供了write()方法用于写入字节。

//将指定的字节写入此文件输出流中
public void write(int b) throws IOException {}
//将指定字节数组中b.length个字节写入此文件输出流
public void write(byte b[]) throws IOException {}
//将从off开始的指定字节数组中len个字节写入此文件输出流
public void write(byte b[], int off, int len) throws IOException {}
//示例
public class RSD_OutputStream {

    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("D:/fileOutputStream.txt", true);
            fos.write("Hello World".getBytes());
        } catch (FileNotFoundException e) {
            //若因为其他原因无法打开(如设置不可写),则抛出此异常
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
示例运行后在D盘中新建文件并写入数据
无论是在使用输入流FileInputStream还是使用输出流FileOutputStream,都需要在最后对流进行关闭,用于释放与此流关联的所有系统资源。
//关闭输入流
fis.close();
//关闭输出流
fos.close();

纸上得来终觉浅,绝知此事要躬行。——陆游《冬夜读书示子聿》

这里我们只是简单的介绍了两种常用的流处理方式,在项目开发中,我们也许会引入第三方的各类JAR包,其中也存在某些JAR包对字节流类做详细处理,因此我们需要活学活用。比如在JSP页面中显示我们在文档服务器中的文件时,我们需要使用到OutputStream类的子类ServletOutputStream类来写入流文件,并通过ServletResponse接口的getOutputStream()方法返回ServletOutputStream类的实例。

相关文章

  • Java输出流之FileOutputStream

    上节中我们简单的了解了如何将文件内容作为字节流读取。本节我们来说说上节提到的FileOutputStream。 F...

  • IO之字节流实例:

    输出流:OutputStream,常用子类:FileOutputStream输入流:InputStream,常用子...

  • 【Java】【IO流】FileOutputStream

    IO流(FileOutputStream) 写入文件 追加写入 复制文件 一次性拷贝文件(消耗内存大)==当文件过...

  • 2020-03-12-Java

    1.FileOutputStream 文件输出流。文件输出是指写入信息到磁盘文件。步骤:(1)使用构造方法,来构造...

  • Java 文件操作

    文件操作Java流简介文件File的使用FileOutputStream和FileInputStream的使用Fi...

  • 字节流

    字节输出流【OutputStream】 FileOutputStream类 写入数据到文件 写多个字节到文件 续写...

  • java io 流 & 序列化与反序列化

    1.介绍 2.分类 3.字符流和字节流 4.IO流框架 5.字节输出流-FileOutputStream-包含可以...

  • Java—字节流读写数据

    学习笔记:字节流。字节流抽象基类: FileOutputStream:文件输出流将数据写如File,FileOut...

  • IO流

    # Java 流式输入 输出原理 # Java 流的分类 # 输入 输出 流 类 # 常见的节点流 和 处理流 #...

  • Kotlin I/O 与文件管理(1)Java I/O 流概述

    Java I/O 流概述Java 流设计理念Java 流类继承层次字节输入流字节输出流字符输入流字符输出流   K...

网友评论

    本文标题:Java输出流之FileOutputStream

    本文链接:https://www.haomeiwen.com/subject/mnafhctx.html