专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

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.hkm168.com/jiqiao/903043_3.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

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

网络知识
小编:小易整编
相关文章相关阅读
  • 计算机按工作原理可分为什么

    计算机按工作原理可分为什么

    计算机按工作原理可分为数字计算机和模拟计算机。数字式电子计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号,它有着运算速度快、运算精度高、通用性强等特点。模拟计算机是根据相似原理,用一种连续变化的模拟量...

  • 有没有录制电脑屏幕的方法

    有没有录制电脑屏幕的方法

    电脑屏幕有录制的方法吗有两个方法一是用win10电脑自带的录屏软件来录,打游戏的时候按一下【win+g】就行了二是用其他的录制软件来录制,比如“迅捷屏幕录像工具”,操作方法如下:1、首先在电脑上将这个工具下载下来。下载完成后打开工具,主页...

  • win7硬件加速设置方法

    win7硬件加速设置方法

    有很多网民在玩一些游戏或运行一些大软件,下载大文件,可能会觉得系统运行不够无忧无虑,这次可以尝试加速硬件。下面的小边将为您介绍如何设置win7的硬件加速方法。1.右击桌面空白处,然后点击右键菜单中的屏幕分辨率选项。2.进入电脑屏幕分辨率设置...

  • 迅雷下载速度慢怎么办-迅雷下载速度慢解决方法

    迅雷下载速度慢怎么办-迅雷下载速度慢解决方法

    迅雷下载速度慢怎么办?迅雷是目前国内用户使用最多的高速下载工具,其速度和效率都是同类下载工具的顶点,但是很多用户在使用的时候却发现迅雷的下载速度很慢,这其实是因为多个不同的问题导致的,那么我们该如何解决呢?下面就由小编为大家带来迅雷下载速度...

  • java中tostring方法的作用是什么

    java中tostring方法的作用是什么

    java中tostring方法的作用是会返回一个【以文本方式表示】此对象的字符串,结果是一个简明但易于读懂的信息表达式。java中tostring方法的作用是toString方法会返回一个“以文本方式表示”此对象的字符串。结果是一个简明但易...

  • 电脑运行内存怎么扩大 秒懂:电脑内存扩大内存的方法

    电脑运行内存怎么扩大 秒懂:电脑内存扩大内存的方法

    电脑运行内存怎么扩大?这是许多电脑用户常常遇到的问题。想要提升电脑运行速度和性能,扩大内存是一个有效的方法。但是,如何扩大内存呢?在本文中,php小编西瓜将为你介绍一些简单又实用的方法,让你秒懂如何扩大电脑内存,提升电脑的运行效率。无论你是...

  • 修复 Windows 11 中 Sxstrace.exe 运行时错误的 5 种方法

    修复 Windows 11 中 Sxstrace.exe 运行时错误的 5 种方法

    windows用户有时会发现启动程序很困难,在这种情况下可能会收到一条错误消息,要求使用命令行sxstrace.exe工具了解更多详细信息。sxstrace.exe由Microsoft于2006年11月首次为Windo...

  • CSS颜色设置方法:HEX、RGB、HSL的简单对比

    CSS颜色设置方法:HEX、RGB、HSL的简单对比

    css中,颜色值有多种表示方法,例如颜色名、十六进制颜色、rgb()、hex()、hsl()等等。那你知道hex、rgb和hsl之间有什么区别吗?下面本篇文章就来给大家简单对比一下hex、rgb、hsl,看看它们区别。不知道你是否了解HE...

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

精彩推荐