专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

outputstream用法,Java中outputstream详解

来源:小易整编  作者:小易  发布时间:2023-03-15 04:00
摘要:outputstream用法,Java中outputstream详解接下来再来看看OutputStream以及子类的相关使用。对于OutputStream主要是字节流类型的输出流。OutputStreamOutputStream抽象类是所有...

outputstream用法,Java中outputstream详解

接下来再来看看 OutputStream 以及子类的相关使用。

对于 OutputStream 主要是字节流类型的输出流。

outputstream用法,Java中outputstream详解

OutputStream

OutputStream 抽象类是所有字节输出流类的超类。输出流接受输出字节并将它们发送到某个接收器中。 同样该抽象类需要一个子类来继承实现始终提供至少一种写入一个字节输出的方法。

该类的定义:

public abstract class OutputStream implements Closeable, Flushable

outputstream用法,Java中outputstream详解

抽象类中的方法包括:

从本篇开始尽量使用表格而不使用图片,因为我发现复看我的文章的时候,图片的清晰度真不能看。

修饰符和类型

方法

描述

void

close()

关闭此输出流并释放与此流关联的所有系统资源。

void

flush()

刷新此输出流并强制写出任何缓冲的输出字节。

static OutputStream

nullOutputStream()

返回一个丢弃所有字节的新 OutputStream。

void

write(byte[] b)

将指定字节数组中的 b.length 个字节写入此输出流。

void

write(byte[] b, int off, int len)

将指定字节数组中的 len 个字节写入此输出流。

abstract void

write(int b)

将指定字节写入此输出流。

因为是抽象类,并不能真正的进行操作,只有子类才能执行,接下来我们来看看子类具体实现。

子类实现

outputstream用法,Java中outputstream详解

ByteArrayOutputStream

这个类实现了一个输出流,其中数据被写入一个字节数组。 缓冲区会随着数据写入而自动增长。 可以使用 toByteArray() 和 toString() 检索数据。 关闭 ByteArrayOutputStream 无效。 可以在流关闭后调用此类中的方法,而不会生成 IOException。

定义:

public class ByteArrayOutputStream extends OutputStream

outputstream用法,Java中outputstream详解

方法的定义:

outputstream用法,Java中outputstream详解

演示使用小例子

try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {    for (byte i = 0; i < 10; i++) {        byteArrayOutputStream.write(i);    }    System.out.println("byteArrayOutputStream.size(): " + byteArrayOutputStream.size());    byte[] array = byteArrayOutputStream.toByteArray();    for (byte b : array) {        System.out.print(b + "\t");    }} catch (IOException ex) {    System.out.println(ex.getMessage());}

完整代码及运行

outputstream用法,Java中outputstream详解

FileOutputStream

文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或是否可以创建取决于底层平台。特别是某些平台,一次只允许一个 FileOutputStream(或其他文件写入对象)打开一个文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造函数将失败。 FileOutputStream 用于写入原始字节流,例如图像数据。要写入字符流,请考虑使用 FileWriter。

定义:

public class FileOutputStream extends OutputStream

outputstream用法,Java中outputstream详解

该类的构造函数:

构造器

描述信息

FileOutputStream(File file)

创建一个文件输出流以写入由指定 File 对象表示的文件。

FileOutputStream(FileDescriptor fdObj)

创建一个文件输出流以写入指定的文件描述符,它表示与文件系统中实际文件的现有连接。

FileOutputStream(File file, boolean append)

创建一个文件输出流以写入由指定 File 对象表示的文件。

FileOutputStream(String name)

创建文件输出流以写入具有指定名称的文件。

FileOutputStream(String name, boolean append)

创建文件输出流以写入具有指定名称的文件。

对于子类的方法, 除了父类的方法外,又新增了两个方法。新增方法如下:

修饰符和类型

方法

描述

FileChannel

getChannel()

刷新此输出流并强制写出任何缓冲的输出字节。

final FileDescriptor

getFD()

返回一个丢弃所有字节的新 OutputStream。

并重写了 close, write的三个方法。

查看代码:


本文地址:IT问答频道 https://www.hkm168.com/itwenda/927371.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • Java 中的各种锁有哪些?

    Java 中的各种锁有哪些?

      Java中15种锁的介绍  在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:  公平锁/非公平锁  可重入锁/不可重入锁  独享锁/共享锁  互斥锁/读写锁  乐观锁...

  • Java中的Scanner操作详解

    Java中的Scanner操作详解

    scanner是java中的一个常用类,用来读取控制台或文件中的输入数据。它提供了一种简单的方式来解析基本类型和字符串,并支持对正则表达式进行匹配。Scanner类位于java.util包中,因此在编写程序时需要import...

  • java8新特性有哪些

    java8新特性有哪些

    java8新特性有:1、lambda表达式;2、方法引用;3、默认方法;4、新编译工具;5、streamapi;6、datetimeapi;7、option;8、nashornjavascript引擎。Java8新增了非常多的特性...

  • java中tostring方法的作用是什么

    java中tostring方法的作用是什么

    java中tostring方法的作用是会返回一个【以文本方式表示】此对象的字符串,结果是一个简明但易于读懂的信息表达式。java中tostring方法的作用是toString方法会返回一个“以文本方式表示”此对象的字符串。结果是一个简明但易...

  • Javascript如何使网页跳转

    Javascript如何使网页跳转

    方法:1、使用_window.location.href方式;2、使用window.history.back方式;3、使用window.navigate方式;4、使用self.location方式;5、使用top.location方式。本教...

  • java异步是什么意思

    java异步是什么意思

    本篇文章将对java异步进行介绍,希望对大家有所帮助。异步:异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。也就是说无论异步方法执行代码需要多长时间,跟主线程没有任何影响,主线程可以继续向下执行。...

  • 周排行
  • 月排行
  • 年排行

精彩推荐