首页 > 编程语言 >20230621 java.io.InputStream

20230621 java.io.InputStream

时间:2023-08-29 17:11:09浏览次数:48  
标签:返回 java io 20230621 int InputStream read 读入 字节

介绍

  • java.io.InputStream
  • public abstract class InputStream implements Closeable
  • FilterInputStream 是典型的装饰器设计模式,很多子类继承这个类,提供额外的功能
    protected volatile InputStream in;
    
    protected FilterInputStream(InputStream in) {
        this.in = in;
    }
    
  • 装饰模式参考 20230419 6. 装饰模式 - 衣服搭配
  • 从构造器可以看出到底是组件还是装饰器,如果包含入参是 InputStream 的构造器,那这个实现就是一个装饰器
    • FileInputStream 是组件
    • BufferedInputStream 是装饰器

API

构造器

  • InputStream()

public

  • read

    • abstract int read() throws IOException;
      • 从数据中读入一个字节,并返回该字节。这个 read 方法在碰到输入流的结尾时返回 -1
      • 唯一的抽象方法
    • int read(byte b[]) throws IOException
      • 读入一个字节数组,并返回实际读入的字节数,或者在碰到输入流的结尾时返回 -1 。这个 read 方法最多读入 b.length 个字节
    • int read(byte b[], int off, int len) throws IOException
      • 读入一个字节数组,并返回实际读入的字节数,或者在碰到输入流的结尾时返回 -1 。
        • b :数据读入的数组
        • off :第一个读入字节应该被放置的位置在 b 中的偏移量
        • len :读入字节的最大数量
  • available

    • 返回在不阻塞的情况下可获取的字节数(阻塞意味着当前线程将失去它对资源的占用)
  • readNBytes

    • byte[] readNBytes(int len) throws IOException
      • 如果未阻塞(read),则读入由 len 指定数量的字节,或者阻塞至所有的值都被读入
    • int readNBytes(byte[] b, int off, int len) throws IOException
      • 读入的值将置于 b 从 off 开始的位置。返回实际读入的字节数,或者在碰到输入流的结尾时返回 -1
  • readAllBytes

    • 产生一个数组,包含可以从当前流中读入的所有字节
    • 调用 readNBytes
  • skip

    • 在输入流中跳过 n 个字节,返回实际跳过的字节数(如果碰到输入流的结尾,则可能小于 n)
  • skipNBytes

  • markSupported

    • 如果这个流支持打标记, 返回 true
  • mark

    • 在输入流的当前位置打一个标记(并非所有的流都支持这个特性)。 如果从输入流中已经读入的字节多于 readlimit 个, 这个流允许忽略这个标记
  • reset

    • 返回到最后一个标记,随后对 read 的调用将重新读入这些字节。如果当前没有任何标记, 这个流不被重置
  • transferTo

    • 将当前输入流中的所有字节传送到给定的输出流,返回传递的字节数。这两个流都不应该处于关闭状态
  • nullInputStream

    • 返回一个不包含任何字节的输入流
  • close

标签:返回,java,io,20230621,int,InputStream,read,读入,字节
From: https://www.cnblogs.com/huangwenjie/p/17649278.html

相关文章

  • iOS开发Swift-4-IBAction,group,音乐播放器-木琴App
    1.使用素材创建木琴App的UI。 2.连接IBAction。  其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图,表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Cr......
  • type.text is about to be deprecated in version 3.0.0, please use link instead.提
     问题:使用按钮类型为文字时,控制台报错type.textisabouttobedeprecatedinversion3.0.0,pleaseuselinkinstead.代码如下:<el-buttontype="text"size="small"@click="deviceDetails(scope.row,scope.index)......
  • Java-mybatis语法
    @Data@BuilderpublicclassICoverageDao{privateStringclassName;privateStringmethodName;privateStringcounterType;privateStringcounterMissed;privateStringcounterCovered;}Mapper添加语法privateSqlSessionTemplatetempl......
  • The 2021 ICPC Asia Shenyang Regional Contest 解题报告
    The2021ICPCAsiaShenyangRegionalContestsolo七题罚时738打到金尾了,但是这个G和I也应该是自己能做出来的。G找了若干性质确实转化到最后一步了。但本应该搞出的dp没有想到。G和M感觉都有点降智。而I则是被复数吓到了。有点菜。B:拆位,扩展域并查集。E:签到。F......
  • ArcGIS for javascript 加载天地图瓦片
    ArcGISforjavascript(4.27)加载天地图瓦片importMapfrom"@arcgis/core/Map";importMapViewfrom'@arcgis/core/views/MapView';importWebTileLayerfrom'@arcgis/core/layers/WebTileLayer';constvecLayer=newWebTileLayer('ht......
  • java基础(根据狂神总结)
    java基础(狂神)注释单行//多行/**/文档注释(可以加参数)/****/***@Descriptionhelloworld*@Authorcheems*/}数据类型类型基本数据类型数值类整数(查看最大字节大小,通过对应的类的源码看)byte占1个字节short2in......
  • visual studio 生成dll文件以及修改输出dll文件名称操作
    visualstudio生成dll文件以及修改dll文件名称Windows系统下VisualStudio可以通过.def文件创建dll。一、准备测试代码1.确定需要导出的函数,test.cpp文件中定义如下voidfun1(){ return;}voidfun2(){ return;}intmain(){ return0;}2.添加.def文件,一般添加到源文件下面。......
  • 【问题记录】The TLS connection was non-properly terminated.
    系统:ubuntu22.04TLSgit克隆到本地时报错root@mail:/mail#gitclonehttps://github.com/mailcow/mailcow-dockerizedCloninginto'mailcow-dockerized'...fatal:unabletoaccess'https://github.com/mailcow/mailcow-dockerized/':GnuTLSrecverror......
  • Android studio 连接安卓设备
    下载连接工具https://developer.android.com/studio/releases/platform-tools?hl=zh-cn加到环境变量Windows或Linux、Mac使用命令adbconnect192.168.**.**#需要连接的安卓设备IP如果出现cannotconnectto192.168..:5555:由于目标计算机积极拒绝,无法连接。(10061)则......
  • Physical Education Lessons
    PhysicalEducationLessons题意:Alex高中毕业了,他现在是大学新生。虽然他学习编程,但他还是要上体育课,这对他来说完全是一个意外。快要期末了,但是不幸的Alex的体育学分还是零蛋!Alex可不希望被开除,他想知道到期末还有多少天的工作日,这样他就能在这些日子里修体育学分。但是在这里......