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

励北网
励北网

outputstream用法,Java中outputstream详解

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

outputstream用法,Java中outputstream详解

CheckedOutputStream

一个输出流,它还维护正在写入的数据的校验和。 然后可以使用校验和来验证输出数据的完整性。

定义:

public class CheckedOutputStream extends FilterOutputStream

同样只有一个构造函数

构造器

描述信息

CheckedOutputStream(OutputStream out, Checksum cksum)

创建具有指定校验和的输出流。

方法有一个父类没有的方法 getChecksum() 意思是:返回此输出流的校验和。

演示代码:

try (FileOutputStream fos = new FileOutputStream("file.txt");     CheckedOutputStream check = new CheckedOutputStream(fos, new CRC32());) {    String content = "这个是 CheckedOutputStream 写入的内容";    byte[] array = content.getBytes();    for (byte b : array) {        check.write(b);    }    long ckSum = check.getChecksum().getValue();    System.out.println("Checksum: 0x" + Long.toHexString(ckSum).toUpperCase());} catch (IOException ex) {    System.out.println(ex.getMessage());}

完整代码和运行效果:

outputstream用法,Java中outputstream详解

使用工具校验一下 CRC32 的校验码是否一致。

outputstream用法,Java中outputstream详解

CipherOutputStream 不在演示,在加密和解密知识点在来详细说这个。

DataOutputStream

数据输出流允许应用程序以可移植的方式将原始 Java 数据类型写入输出流。 然后,应用程序可以使用数据输入流来读回数据。 多个并发线程使用 DataOutputStream 是不安全的。 如果一个 DataOutputStream 被多个线程使用,那么对数据输出流的访问应该由适当的同步控制。

定义:

public class DataOutputStream extends FilterOutputStream implements DataOutput

outputstream用法,Java中outputstream详解

代码演示效果:

try (FileOutputStream fileOutputStream = new FileOutputStream("file.txt");     DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream)) {    String content = "这个是 DataOutputStream 的演示";    byte[] array = content.getBytes();    for (byte b : array) {        dataOutputStream.write(b);    }} catch (IOException ex) {    System.out.println(ex.getMessage());}

outputstream用法,Java中outputstream详解

对于 DeflaterOutputStream 和 InflaterOutputStream 是压缩和解压的输出流。这里先不做演示。

PrintStream

PrintStream 向另一个输出流添加了功能,即能够方便地打印各种数据值的表示形式。

还提供了另外两个功能。与其他输出流不同,PrintStream 从不抛出 IOException;相反,异常情况只是设置一个内部标志,可以通过 checkError 方法进行测试。

也可以可选的创建一个 PrintStream 以便自动刷新;这意味着在写入字节数组、调用 println 方法之一或写入换行符或字节 ('\n') 后,会自动调用底层输出流的 flush 方法。

PrintStream 打印的所有字符都使用给定的编码或字符集转换为字节,如果未指定,则使用平台的默认字符编码。 PrintWriter 类应该用于需要写入字符而不是字节的情况。 这个类总是用字符集的默认替换字符串替换格式错误和不可映射的字符序列。

当需要对编码过程进行更多控制时,应使用 CharsetEncoder 类。

演示代码:

outputstream用法,Java中outputstream详解

这里来看我们经常用到的一个使用方法。

System.out.println("输出一串字符串。");

该类是 System

java.lang.Systempublic final class System

里面有个静态的常量方法 out 返回值是: PrintStream。 然后就可以理解为什么可以打印字符串了。

outputstream用法,Java中outputstream详解

所以 System.out.println(""); 基本等同于 new PrintStream("file.txt").println(""); 区别是一个输出到了控制台, 一个输出到了文件中。 这也是以后在 web 开发中使用 System.out 打印信息的时候, 其实也会写到日志文件中一样。

OutputStream 相关的知识点就先说到这了。 应该把相关的案例使用都介绍到了。


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

共3页 1 2 3 当前是最后一页

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

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

    每部手机上都有一个蓝牙功能,大家以前都会用它来传输文件,不过随着移动网络和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个拿弓的人物,这预示着许多射气球有关的谜题,都能用温蒂出场处理,而这...

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

精彩推荐