专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

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)

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

代码示例:


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


百科问答
小编:小易整编
相关文章相关阅读
  • 手机蓝牙的作用和用法(手机蓝牙有什么用途)

    手机蓝牙的作用和用法(手机蓝牙有什么用途)

    每部手机上都有一个蓝牙功能,大家以前都会用它来传输文件,不过随着移动网络和WiFi的普及,这个功能也渐渐被大家忽略了。今天,我们就来科普一些手机蓝牙不为人知的功能,让大家可以更好的使用这一功能。1、传输文件传输文件,这一功能应该是大家最熟悉...

  • 磁盘阵列raid5的用法

    磁盘阵列raid5的用法

    操作方法01在日常应用中,大多是把服务器上所有的硬盘创建RAID5,并且只划分了一个“逻辑磁盘”,这样从理论上来讲没有任何问题,在实际中也可以可以使用的,但是这种方法并不可取。RAID5是一种存储性...

  • C语言while语句的用法

    C语言while语句的用法

    while语句的一般形式为:while(表达式)语句其中表达式是循环条件,语句为循环体。#includeintmain(void){inti,sum=0;i=1;while(i...

  • 详解Linux中hdparm命令查看硬盘信息的用法

    详解Linux中hdparm命令查看硬盘信息的用法

    功能说明:显示与设定硬盘的参数。语  法:hdparm[-CfghiIqtTvyYZ][-a][-A][-c][-d][-k][-K][-m][-n...

  • 机动都市阿尔法枪盾好用吗 枪盾用法大全

    机动都市阿尔法枪盾好用吗 枪盾用法大全

    机动都市阿尔法中各式各样的武器,每个都有自己的特点,枪盾也是深受玩家青睐,那么机动都市阿尔法枪盾好用吗,下面就和小编一起来了解一下吧。一、武器简介:枪盾从外观即可看出组成,一面盾牌,一把散弹枪,可以看出这是攻守兼备的一个武器,尤其是在近战中...

  • 口袋超萌高级精灵球怎么用 高级精灵球用法攻略

    口袋超萌高级精灵球怎么用 高级精灵球用法攻略

    各位玩家们大家好,对于新手玩家在游戏中获得的高级球,高级球是十分珍贵的道具。那么口袋超萌高级精灵球怎么用才能有效的捕捉到精灵,小编总结出以下内容,希望可以帮助到大家。首先在口袋超萌的游戏中,玩家们也许都想拥有一只属于自己的强力神宠。那么究竟...

  • 霓虹深渊无限能量转换器怎么使用 能量转换器的用法介绍

    霓虹深渊无限能量转换器怎么使用 能量转换器的用法介绍

    本次要为大家介绍一款像素动作游戏——霓虹深渊无限,这里会有很多玩法以及很多有趣的道具,其中有一种叫做能量转换器,很多人好奇霓虹深渊无限能量转换器怎么使用,那么接下来小编就为大家介绍下这个道具的玩法,感兴趣的快跟小编一起来看看吧。霓虹深渊无限...

  • 原神温蒂用法攻略 全服最强打法

    原神温蒂用法攻略 全服最强打法

    温蒂在三测时号称全服最强角色,很多PC版玩家攒着原石不抽就是在等这期的温蒂,今天给大家带来原神温蒂用法攻略,全服最强打法。多功能性第1最先从多功能性上来说一说温蒂。她是1个拿弓的人物,这预示着许多射气球有关的谜题,都能用温蒂出场处理,而这...

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

精彩推荐