专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

outputstream用法,Java中outputstream详解

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

String content = "把该段内容写入到文件系统中。";byte[] bytes = content.getBytes();try (FileOutputStream fileOutputStream = new FileOutputStream("file.txt")) {    fileOutputStream.write(bytes);} catch (IOException ex) {    System.out.println(ex.getMessage());}

演示案例:

outputstream用法,Java中outputstream详解

这里需要注意的是,文件的写入默认使用和系统相关的字符集, 我这是中文的系统,默认情况下是 GBK 的字符集体系。所以要看你的情况来选择, 后续写到 Writer 之后,在说字符集转换的问题。还有 cat 命令。这个命令只有在 PowerShell 的命令行工具中存在,cmd 命令行中并没有该指令。

另外的使用方式如下:

new FileOutputStream(new File("file.txt"));new FileOutputStream(new File("file.txt"), true);new FileOutputStream("file.txt", true)

完整代码如下:

outputstream用法,Java中outputstream详解

运行效果,后面两个都是追加数据的意思,保留原先的数据写入:

outputstream用法,Java中outputstream详解

FilterOutputStream

这个类是过滤输出流的所有类的超类。 这些流位于已经存在的输出流(底层输出流)之上,它用作其基本数据接收器,但可能会沿途转换数据或提供附加功能。 FilterOutputStream 类本身只是简单地使用将所有请求传递到底层输出流的版本覆盖了 OutputStream 的所有方法。 FilterOutputStream 的子类可能会进一步覆盖其中一些方法,并提供额外的封装方法和需要的字段。

定义:

public class FilterOutputStream extends OutputStream

outputstream用法,Java中outputstream详解

该类只有一个构造函数,构造方法为:

构造函数

描述信息

FilterOutputStream(OutputStream out)

在指定的基础输出流之上创建一个输出流过滤器。

查看代码案例:

String content = "使用 FilterOutputStream 把该段内容写入到文件系统中。";byte[] bytes = content.getBytes();try (FileOutputStream fileOutputStream = new FileOutputStream("file.txt");     FilterOutputStream filterOutputStream = new FilterOutputStream(fileOutputStream)) {    filterOutputStream.write(bytes);} catch (IOException ex) {    System.out.println(ex.getMessage());}

完整代码及运行效果:

outputstream用法,Java中outputstream详解

ObjectOutputStream

ObjectOutputStream 将 Java 对象的原始数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。对象的持久存储可以通过使用流的文件来实现。如果流是网络套接字流,则可以在另一个主机或另一个进程中重构对象。

只有支持 java.io.Serializable 接口的对象才能写入流。每个可序列化对象的类都经过编码,包括类的类名和签名、对象的字段和数组的值,以及从初始对象引用的任何其他对象的闭包。 writeObject 方法用于将对象写入流。任何对象,包括字符串和数组,都是用 writeObject 编写的。可以将多个对象或原语写入流。对象必须从相应的 ObjectInputstream 以与写入时相同的类型和相同的顺序读回。

定义为:

public class ObjectOutputStream    extends OutputStream implements ObjectOutput, ObjectStreamConstants

outputstream用法,Java中outputstream详解

对应的构造方法如下:

构造函数

描述说明

ObjectOutputStream()

为完全重新实现 ObjectOutputStream 的子类提供一种方法,使其不必分配刚刚由 ObjectOutputStream 的实现使用的私有数据。

ObjectOutputStream(OutputStream out)

创建一个写入指定 OutputStream 的 ObjectOutputStream。

直接代码演示:

outputstream用法,Java中outputstream详解

可以使用 ObjectInputStream 输入流读取对应的序列化内容。

常用的 write 方法

outputstream用法,Java中outputstream详解

代码:

String str = "使用序列化进行字符串的写入";try (FileOutputStream fileOutputStream = new FileOutputStream("string.tmp");     ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream)) {    objectOutputStream.writeObject(str);    objectOutputStream.writeByte(100);    objectOutputStream.writeChar(200);    objectOutputStream.writeInt(300);    objectOutputStream.writeShort(10);    objectOutputStream.writeFloat(0.111f);    objectOutputStream.writeDouble(1.11d);    objectOutputStream.writeLong(400L);    objectOutputStream.writeBoolean(true);} catch (IOException ex) {    System.out.println(ex.getMessage());}

PipedOutputStream

管道输出流可以连接到管道输入流以创建通信管道。 管道输出流是管道的发送端。 通常,数据由一个线程写入 PipedOutputStream 对象,数据由其他线程从连接的 PipedInputStream 读取。 不建议尝试从单个线程中使用这两个对象,因为它可能会使线程死锁。 如果从连接的管道输入流中读取数据字节的线程不再活动,则称该管道已损坏。

定义:

public class PipedOutputStream extends OutputStream

构造函数

构造函数

描述说明

PipedOutputStream()

创建尚未连接到管道输入流的管道输出流。

PipedOutputStream(PipedInputStream snk)

创建连接到指定管道输入流的管道输出流。

使用例子:

outputstream用法,Java中outputstream详解

BufferedOutputStream

该类实现了一个缓冲的输出流。 通过设置这样的输出流,应用程序可以将字节写入底层输出流,而不必为每个写入的字节调用底层系统。

定义:

public class BufferedOutputStream extends FilterOutputStream

构造函数:

构造器

描述信息

BufferedOutputStream(OutputStream out)

创建一个新的缓冲输出流以将数据写入指定的基础输出流。

BufferedOutputStream(OutputStream out, int size)

创建一个新的缓冲输出流,以将数据写入具有指定缓冲区大小的指定基础输出流。

代码示例:


本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/927371_2.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • javascript教程网(javascript教程推荐)

    javascript教程网(javascript教程推荐)

    javascript教程网(javascript教程推荐)JavaScript作为一种广泛应用于网页开发的技术,已经成为前端开发不可或缺的一部分。对于刚接触编程的菜鸟来说,选择一份合适的JavaScript教程至关重要。本文将为您推荐几款优...

  • 我的世界不死图腾获取方式(我的世界不死图腾用法)

    我的世界不死图腾获取方式(我的世界不死图腾用法)

    我的世界不死图腾获取方式(我的世界不死图腾用法)我的世界不死图腾由召唤师掉落,使用林中鬼屋藏宝图找到林中鬼屋,然后进入林中鬼屋的房间里击杀召唤师才能获得。不过不死图腾的掉落率比较低,需要击杀许多召唤师才能获得。我的世界不死图腾用法移除玩家身...

  • java软件叫什么(java软件安装教程详细)?

    java软件叫什么(java软件安装教程详细)?

    java软件叫什么(java软件安装教程详细)?Java语言是由美国Sun(StanfordUniversityNetwork)公司在1995年推出的,2009年Oracle甲骨文公司收购了Sun公司,如果想开发一个全新的Java程序,必须...

  • 我的世界java版官网(我的世界java版怎么下载)?

    我的世界java版官网(我的世界java版怎么下载)?

    我的世界java版官网(我的世界java版怎么下载)?我的世界java版早在2011年就已发布,而当时的中文补丁使许多人并未购买正版。而如今的网易版让许多人觉得没有童年的味道,那么如何下载java版呢?我的世界java版官网:minecra...

  • ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?

    ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?

    ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?ones刻录软件是一款专业的光盘刻录软件,不仅软件体积小巧、占用内存少,操作简单便捷,而且ones光盘刻录软件功能全面,用户可以通过软件刻录多种格式的文件,轻松上手操作,为用户带来...

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

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

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

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

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

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

  • Java 中的各种锁有哪些?

    Java 中的各种锁有哪些?

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

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

精彩推荐