Java 日看一类(25)之IO包中的FilterOutputStream类

Java IO类之FilterOutputStream的研究与应用 Java是被广泛使用的一种面向对象的编程语言,它具有跨平台、高效、安全等优势,深受开发者和企业的喜爱。在Java中,输出流是一种用于向目标输出设备或文件写入数据的数据流。Java提供了许多不同类型的输出流,其中包括FilterOutputStream类。本文将对Java中的FilterOutputStream类进行详细介绍。本文将介绍Java中的FilterOutputStream类。 阅读详情

该类继承自OutputStream类

无引入包




类头注释如下:

/**
 * This class is the superclass of all classes that filter output
 * streams. These streams sit on top of an already existing output
 * stream (the <i>underlying</i> output stream) which it uses as its
 * basic sink of data, but possibly transforming the data along the
 * way or providing additional functionality.
 * <p>
 * The class <code>FilterOutputStream</code> itself simply overrides
 * all methods of <code>OutputStream</code> with versions that pass
 * all requests to the underlying output stream. Subclasses of
 * <code>FilterOutputStream</code> may further override some of these
 * methods as well as provide additional methods and fields.
 *
 * @author  Jonathan Payne
 * @since   JDK1.0
 */

大意如下:

这个类是所有过滤输出流类的祖先

这些流位于所有已存在的输出流(底层输出流)之上,使用基础类型的数据

但也可能改变数据的类型或者提供一些额外的方法


FilterOutputStream类对那些将所有请求都传递给底层输出流的OutputStream方法做了简单的覆写

以该类作为基类的类可能会覆写该类的方法并且提供额外的方法和参数



该类含有如下成员变量:

该类的底层输出流

protected OutputStream out;




该类含有如下的成员方法:

构造方法(过滤传入的输出流

public FilterOutputStream(OutputStream out) {
    this.out = out;
}

写出一个字节

public void write(int b) throws IOException {
    out.write(b);
}

写出一个byte数组

public void write(byte b[]) throws IOException {
    write(b, 0, b.length);
}

写出该byte数组中特定位置和长度的数据

public void write(byte b[], int off, int len) throws IOException {
    if ((off | len | (b.length - (len + off)) | (off + len)) < 0)
        throw new IndexOutOfBoundsException();

    for (int i = 0 ; i < len ; i++) {
        write(b[off + i]);
    }
}

刷新输出流(将输出流中的数据输出

public void flush() throws IOException {
    out.flush();
}

关闭输出流(关闭前先讲输出流中的数据写出

public void close() throws IOException {
    try (OutputStream ostream = out) {
        flush();
    }
}





该类仅做了一些简单的覆写,主体还是OutputStream,大概看看就行,主要关注子类


FilterOutputStream简介_动力节点Java学院整理 FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。 立即下载

相关推荐

Java中的FilterOutputStream 简介_动力节点Java学院整理

FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。接下来通过本文给大家简单介绍下FilterOutputStream知识,需要的朋友参考下吧

java filter的类,Java FilterOutputStream类

Java FilterOutputStream类实现OutputStream类。它提供了不同的子类, 例如BufferedOutputStream和DataOutputStream, 以提供其他功能。因此, 它很少单独使用。Java FilterOutputStream类声明让我们看一下java.io.FilterOutputStream类的声明:public class FilterOutput...

weixin_42398141的博客 327

OSMDroid 切换地图不更新的问题

用OSMDroid加载Google地图的时候 需要有按钮切换不同图层的地图,如果发现调用了mMapView.setTileSource(ITileSource aTileSource)方法的时候发现地图View没有更新的话,可能是因为两个实例化TileSource对象其子类BitmapTileSourceBase这个类的aName成员变量值一样导致的地图在setTileSource出现不更新问题,...

godoge的博客 1039

java filter的类_Java FilterOutputStream类

首页>基础教程>IO流>OutputStream类Java FilterOutputStream类定义public FilterOutputStream(OutputStream out)参数out:分配给字段this.out以供以后使用的基础输出流;如果要在没有基础流的情况下创建此实例,则为null。方法//将指定的字节写入管道输出流。public void wri...

weixin_36443053的博客 745

MT6768平台Sensor Bring Up全流程实战:从驱动添加到问题排查(附避坑指南)

本文详细介绍了联发科MT6768平台Sensor Bring Up的全流程实战指南,从驱动添加、硬件配置到问题排查,提供了全面的避坑建议。内容涵盖环境准备、驱动文件集成、硬件接口配置、编译系统适配以及常见问题解决方案,帮助开发者高效完成传感器集成与调试工作。

weixin_30374009的博客 416

Origin绘制带差异显著性标记的分组均值条形图|科研论文图表教程(附数据格式模板)

传统柱状图虽能呈现组间均值差异,却隐藏个体数据分布;散点图虽能展示原始数据,却难以直观凸显统计显著性。带差异显著性(*)的分组均值条形图——它以“双层叙事”的创新设计,同时呈现群体特征与个体差异。

weixin_50236590的博客 1498

jdk1.7中try-with-resources语法糖详解

在JDK的FilterOutputStream中看到如下代码段: public void close() throws IOException { try (OutputStream ostream = out) { flush(); } } close方法,只有flush而没有close? 不要紧张,仔细观察,这个 ...

Nicole Cao的博客 1212

手把手教你用ROS2控制PX4无人机画个圆:从C++代码到Gazebo仿真全流程解析

本文详细解析了如何使用ROS2控制PX4无人机实现圆形轨迹飞行,涵盖从C++代码编写到Gazebo仿真的全流程。重点介绍了Offboard模式下的控制算法实现、圆形轨迹生成的数学原理,以及解决通信延迟和坐标系转换等常见问题的实用技巧。通过实战案例,帮助开发者快速掌握无人机轨迹跟踪仿真的核心技术。

weixin_30839881的博客 99

java close 方法_Java PushbackReader close()方法与示例

PushbackReader类close()方法close()方法在java.io包中可用。close()方法用于关闭该流并释放与此流链接的所有系统资源。close()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。close()方法在关闭流时可能会引发异常。IOException:在执行过程中遇到任何输入/输出错误时,可能引发此异常。语法:public...

weixin_39946429的博客 2756

基于STM32设计的环境监测系统(华为云IOT)_300

随着空气污染问题日益严峻,环境空气质量的监测变得愈加重要。为了解决这一问题,本项目设计并实现了一款基于STM32的空气质量监测设备,能够实时监测空气中的温湿度、二氧化碳浓度和甲醛浓度,并通过OLED显示屏展示数据。此外,设备支持通过WIFI模块将数据上传至云端,用户可以通过手机APP或Windows上位机查看实时数据。设备采用MQTT协议与华为云IOT物联网服务器进行数据通信,确保数据的实时性和可靠性。本项目还结合了低功耗设计和高灵敏度传感器,使得设备能够高效稳定地运行,并实现远程监控功能。

697

反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释

反卷积的作用 卷积中padding的几个概念 No Padding Half(Same) Padding Full Padding 反卷积 反卷积中的Padding参数 反卷积的stride参数 反卷积总结 参考资料

iioSnail的博客 2万+

装饰器模式之java IO流(FilterOutputStream对用户透明及它的作用)

例如现在有这样一个需求:读取一个文件里面的内容,将文件里的内容所有的小写字母都转换成大写的。这个时候我们就可以通过去扩展IO流去做。package com.unis.io; 2. 3.import java.io.BufferedReader; 4.import java.io.File; 5.import java.io.FileReader; 6.import java.i...

lzf的博客 830

在claude code desktop中安装pdf处理skill的实战教程

本文介绍了在Claude Code Desktop中安装PDF处理Skill的详细教程。针对国内用户使用第三方API时无法直接调用官方插件的问题,提供了完整的解决方案。教程从下载Anthropic官方Skills源码开始,逐步演示了如何将PDF处理模块打包、上传至Claude Code Desktop,并最终成功加载使用。整个过程采用全流程拆解方式,确保新手也能快速上手。通过本文,读者可以掌握在非官方环境下扩展Claude Code功能的方法,从而提升工作效率

weixin_43178406的博客 9万+

Java:25-IO流

public abstract class OutputStream extends Object implements Closeable , Flushable //Closeable 是可以关闭的数据源或目标,调用 close 方法可释放对象保存的资源(如打开文件) //Flushable是可以刷新的数据的目的地,调用flush方法将任何缓冲输出写入到依赖的流。

qq_59609098的博客 518

Python 爬虫实战:豆瓣 / IMDB 电影数据抓取(评分 + 剧情 + 演员阵容结构化处理)

在数据为王的时代,电影数据是进行市场分析、推荐系统构建和学术研究的重要资源。豆瓣和 IMDB 作为国内外最具影响力的电影评分和资讯网站,包含了海量高质量的电影数据。本文将带领你从零开始,构建一个健壮的 Python 爬虫,用于抓取豆瓣和 IMDB 的电影信息,并将其中的非结构化数据(如剧情简介、演员列表)进行清洗和结构化处理,最终存储到便于分析的结构化文件(如 CSV)中。

yansideyucsdn的博客 956

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java io理解_java 的 IO简单理解

首先要先理解什么是 stream ?stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。一、不同导向的 stream1)以字节为单位从 stream 中读取或往 stream 中写入信息InputStream:a)ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用b)FileInputStream:把一个文件作为InputStr...

weixin_32302013的博客 93

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

I/O复习 二 (过滤字节流 FileteInputStream/FilterOutputStream)

java.io包中提供了FilterInputStream和FilterOutputStream类分别对其他输入输出流进行特殊的处理,它们在 * 读/写数据的同时还能够对数据进行特殊的处理。另外它们还提供了同步机制,是的某一时刻之后一个线程可以访问输入/输出流。 * FilterInputStream/FilterOutputStream都是抽象类。 * FilterInputStream...

weixin_33785108的博客 197

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java IO 之 OutputStream源码

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 一、前言 上一篇《Java IO 之 InputStream源码》,说了InputStream。JDK1.0中就有了这传统的

程序员泥瓦匠 678

Java中IO流中的装饰设计模式(BufferReader的原理)

本文粗略的介绍下JavaIO的整体框架,重在解释BufferReader/BufferWriter的演变过程和原理(对应的设计模式) 一.JavaIO的简介 流按操作数据分为两种:字节流与字符流. 流按流向分为:输入流(读),输出流(写)。 字符流由来就是:早期的字节流+编码表,为了更便于操作文字数据。 记住:只要是操作字符数据,应该优先使用字符流。 字节流的抽象基类:In...

kqixiang945的专栏 947

java io系列01之 "目录"

java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream) 03. java io系列03之 ByteArrayOutputStream的简介,源码分析和示例(包括OutputStream) 04. java io系列04之

黄刚的技术博客 773

java IO之输出流——OutputStream

OutputStream抽象类是所有输出字节流的超类,输出流接收输出字节,并将这些字节发送到某个接收器。这个接收器可以是字节数组、文件、管道。该类的定义如下: 1 public abstract class OutputStream implements Closeable, Flushable { 2 //将指定的字节写到这个输出流中 3 public abs...

weixin_30242907的博客 347

java io 系列目录

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34043301的博客 105

java解析outputbuffer_java io系列13之 BufferedOutputStream(缓冲输出流)的认知、源码和示例...

本章内容包括3个部分:BufferedOutputStream介绍,BufferedOutputStream源码,以及BufferedOutputStream使用示例。BufferedOutputStream 介绍BufferedOutputStream 是缓冲输出流。它继承于FilterOutputStream。BufferedOutputStream 的作用是为另一个输出流提供“缓冲功能”。B...

weixin_28965731的博客 700

java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例

本章介绍DataOutputStream。我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解。 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_15.html DataOutputStream 介绍 DataOutputStream 是数据输出流。它继承于FilterOutpu

XINJing的专栏 999
上一篇: Java 日看一类(24)之IO包中的FilterInputStream类
下一篇: linux PCB
wyf95278
博客等级 码龄10年 38粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值