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

嗨游网
嗨游网

InputStream使用方法(inputstream工作原理介绍)

来源:小嗨整编  作者:小嗨  发布时间:2023-02-07 12:28
摘要:InputStream使用方法(inputstream工作原理介绍)Java中的I/O操作,使用流(stream)的概念来介绍。分为输入流InputStream和Reader,输出流OutputStream和Writer作为基类。Java中...

演示案例的第一步:先定义一个 User 类。

import java.io.Serializable;public class User implements Serializable{        private String uid;    private String uname;        public User(String uid, String uname) {        this.uid = uid;        this.uname = uname;    }        public String getUid() {        return uid;    }    public void setUid(String uid) {        this.uid = uid;    }    public String getUname() {        return uname;    }    public void setUname(String uname) {        this.uname = uname;    }    }@Overridepublic String toString() {    return "User [uid=" + uid + ", uname=" + uname + "]";}

第二步:再创建一个文件 test.txt 文件(这里的 .txt 文件任何名字和后缀都无所谓,但最好有意义)。 对于程序要做的是要写写入序列化的数据到文件中,然后再读取,需要注意的是这里写入的过程知道为什么要写就行。

public static void write() {    File file = new File("test.txt");    try (FileOutputStream outputStream = new FileOutputStream(file);         ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);) {        objectOutputStream.writeObject(new User("1", "苗子说全栈"));    } catch (IOException ex) {        System.out.println(ex.getMessage());    }}

完整代码如下:

InputStream使用方法(inputstream工作原理介绍)

运行效果:

InputStream使用方法(inputstream工作原理介绍)

PipedInputStream

管道输入流应该连接到管道输出流; 管道输入流然后提供写入管道输出流的任何数据字节。 通常,数据由一个线程从 PipedInputStream 对象读取,数据由其他线程写入相应的 PipedOutputStream。 不建议尝试从单个线程使用这两个对象,因为这可能会使线程死锁。 管道输入流包含一个缓冲区,在限制范围内将读取操作与写入操作分离。 如果向连接的管道输出流提供数据字节的线程不再处于活动状态,则称管道已损坏。

定义:

public class PipedInputStream extends InputStream

演示代码如下:

try (PipedInputStream in = new PipedInputStream();                PipedOutputStream out = new PipedOutputStream(in)) {    String message = "这里是 PipedInputStream 的演示 ···";    byte[] buffer = message.getBytes();    out.write(buffer);    byte[] b = new byte[100];    int hasRead = 0;    while (in.available() > 0) {        hasRead = in.read(b);        System.out.println(new String(b, 0, hasRead));    }} catch (IOException ex) {    System.out.println(ex.getMessage());}

InputStream使用方法(inputstream工作原理介绍)

SequenceInputStream

SequenceInputStream 表示其他输入流的逻辑串联。 它从输入流的有序集合开始,从第一个流读取,直到到达文件末尾,然后从第二个读取,依此类推,直到在最后一个包含的输入流上到达文件末尾。

定义如下:

public class SequenceInputStream extends InputStream

代码如下:

try (FileInputStream fileInputStream1 = new FileInputStream("Input06.java");     FileInputStream fileInputStream2 = new FileInputStream("Input06.java");     SequenceInputStream sequence = new SequenceInputStream(fileInputStream1, fileInputStream2)) {    byte[] b = new byte[1024];    int hasRead = 0;    while ((hasRead = sequence.read(b)) != -1) {        System.out.println(new String(b, 0, hasRead));    }} catch (IOException ex) {    System.out.println(ex.getMessage());}

演示案例:

InputStream使用方法(inputstream工作原理介绍)

运行效果:

InputStream使用方法(inputstream工作原理介绍)

StringBufferInputStream

该类已经过期, 不建议使用。推荐使用 StringReader 类。所以在这不再演示。


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

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

网络百科
小编:小嗨整编
相关文章相关阅读
  • 文件夹怎么设置密码(文件夹加密最简单的方法)?

    文件夹怎么设置密码(文件夹加密最简单的方法)?

    文件夹怎么设置密码(文件夹加密最简单的方法)?为了避免他人查看,为文件夹设置密码是一种简单有效的保护措施。本文将为您介绍一种最简单的文件夹加密方法,让您轻松实现文件夹的密码保护。文件夹怎么设置密码一、使用压缩软件加密文件夹1.在电脑上安装一...

  • 电脑如何设置密码锁屏(电脑如何设置密码的方法)?

    电脑如何设置密码锁屏(电脑如何设置密码的方法)?

    电脑如何设置密码锁屏(电脑如何设置密码的方法)?随着电脑在日常生活中的普及,个人信息的安全性越来越受到重视。设置密码锁屏是保护电脑隐私的有效方法。本文将为您详细介绍如何在电脑上设置密码锁屏,帮助您轻松实现电脑安全防护。一、Windows系统...

  • 睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?随着科技的发展,越来越多的睡眠APP走进了我们的生活。它们通过科学的原理和实用的功能,帮助人们改善睡眠质量,缓解压力。本文将为您盘点几款热门的睡眠APP。睡眠app哪个好用1.小睡眠小睡眠是一款备...

  • 绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?绝地求生自瞄,顾名思义,就是游戏中的一种自动瞄准功能。使用自瞄外挂的玩家在游戏中,当遇到敌人时,瞄准器会自动锁定目标,玩家只需按下射击键即可轻松击杀敌人。这种外挂严重破坏了游戏的平衡,对其他玩家...

  • dnf黑屏进不去游戏怎么办(dnf黑屏解决方法)?

    dnf黑屏进不去游戏怎么办(dnf黑屏解决方法)?

    dnf黑屏进不去游戏怎么办(dnf黑屏解决方法)?在玩dnf时,你是否遇到过黑屏进不去游戏的情况?这个问题让很多玩家都头疼不已。下面,我将为大家详细介绍dnf黑屏的解决方法。dnf黑屏进不去游戏什么原因1.网络延迟过大:当网络延迟较高时,游...

  • oppo手机忘记密码了怎么解锁(oppo手机强制解锁方法)?

    oppo手机忘记密码了怎么解锁(oppo手机强制解锁方法)?

    oppo手机忘记密码了怎么解锁(oppo手机强制解锁方法)?现代社会,手机已经成为我们日常生活中不可或缺的伙伴。然而,有时候我们会遇到忘记手机解锁密码的尴尬情况,尤其是Oppo手机用户。忘记密码会导致手机无法正常使用,也无法进入系统查看资料...

  • 油管官方app下载方法(油管app正版下载)

    油管官方app下载方法(油管app正版下载)

    油管官方app下载方法(油管app正版下载)油管(YouTube)逐渐成为了国内外视频爱好者们不可或缺的短视频平台。为了让大家更方便地观看和上传视频,油管推出了官方App。那么,如何正确下载油管官方App,正版享受高品质视频体验呢?第一步:...

  • cad2014安装教程图解及激活方法(cad2014安装教程全过程)

    cad2014安装教程图解及激活方法(cad2014安装教程全过程)

    cad2014安装教程图解及激活方法(cad2014安装教程全过程)摘要:本文详细介绍了cad2014的安装过程及激活方法,通过图文并茂的方式,让读者轻松掌握安装与激活步骤。cad2014安装教程图解及激活方法1、下载到安装包,并将其解压出...

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

精彩推荐