`

java的INPUTSTREAM和INPUTSTREAMREADER有什么区别

    博客分类:
  • java
 
阅读更多
InputStream  此抽象类是表示字节输入流的所有类的超类

InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。

每次调用 InputStreamReader 中的一个 read() 方法都会导致从基础输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从基础流读取更多的字节,使其超过满足当前读取操作所需的字节

java输入输出流,使用了装饰模式
inputstream是最原始的,专注了核心功能
而inputstreamreader是核心功能的装饰,提供了更封装的方法

inputstream只能读字节,byte数组,而有reader的可以读char
如果在reader上再装饰一层buffered,那么就可以读取 string
方法是 readline()

BufferedReader :可以读取字符串String
分享到:
评论

相关推荐

    Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理

    Java中的InputStreamReader和OutputStreamWriter源码分析 InputStreamReader是Java中用于将字节输入流转换成字符输入流的类,它继承自Reader类。下面是InputStreamReader的源码分析: 构造方法 InputStreamReader...

    InputStreamReader 和FileReader的区别及InputStream和Reader的区别

    InputStreamReader 和FileReader都是Java中用于读取输入流的类,但它们在处理数据的方式上存在显著差异。InputStreamReader属于Reader类的子类,主要用于处理字符流,它充当字节流(如InputStream)与字符流之间的...

    java 中InputStream,String,File之间的相互转化对比

    在Java编程中,InputStream、String和File是三个非常基础且重要的类,它们分别代表了数据流、文本字符串和文件对象。在实际开发中,我们经常需要在这三者之间进行转换,以便于处理不同类型的输入输出。以下是关于这...

    Java流(文件读写操作)

    Java中的流类遵循一定的层次结构,这有助于理解和使用各种流。 - **InputStream类层次**:所有输入流的父类都是`InputStream`。 - **OutputStream类层次**:所有输出流的父类都是`OutputStream`。 - **Reader类层次...

    彻底明白Java的IO系统

    此外,Java的I/O系统还提供了对套接字(Socket)通信的支持,SocketInputStream和SocketOutputStream用于网络数据的发送和接收。对于XML和JSON等格式的数据交换,Java提供了解析器和生成器,如DOM和SAX解析器,以及...

    java常用的工具类整理28个

    19. **java.io.InputStream**和**java.io.OutputStream**:所有字节流的基类,提供了基本的读写操作。 20. **java.io.Reader**和**java.io.Writer**:所有字符流的基类,用于处理字符数据。 21. **java.io....

    InputStreamReader和BufferedReader用法及实例讲解

    InputStreamReader和BufferedReader是Java IO库中的两个重要类,它们在处理字符输入流时发挥着关键作用。本文将深入解析这两个类的用法,并通过实例来帮助理解它们的工作原理。 一、BufferedReader类 ...

    Java解决UTF-8的BOM问题

    本文将深入探讨如何使用Java来处理带有BOM的UTF-8文件。 首先,`UnicodeInputStream`和`UnicodeReader`是Java中用于处理Unicode编码流的类。它们是`java.io`包的一部分,提供了对带有BOM的文件进行读取的功能。`...

    JAVA_字符编码

    处理字符编码时,Java提供了`InputStreamReader`和`OutputStreamWriter`类来读写带有特定字符编码的数据。这两个类分别用于将字节流转换为字符流和反之。例如,如果你需要从一个使用UTF-8编码的文件读取数据,你可以...

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入数据。下面将详细介绍JAVA通过HttpURLConnection...

    Javaio流思维导图

    字节流下有多个子类,例如FileInputStream和FileOutputStream用于文件操作,SocketInputStream和SocketOutputStream用于网络通信。这些类提供了读写文件或网络数据的基本方法,如read()和write()。 在字符流中,...

    Java_IO流详解

    Java 的 IO 体系分 Input/Output 和 Reader/Writer 两类,区别在于 Reader/Writer 在读写文本时能自动转换内码。基本上,所有的 IO 类都是配对的,即有 XxxInput 就有一个对应的 XxxOutput。 Java 的输入/输出...

    java字符过滤器,过滤器

    为了解决这个问题,Java提供了`java.nio.charset.Charset`、`java.io.InputStreamReader`、`java.io.OutputStreamWriter`等类,以及`FilterReader`和`FilterWriter`作为过滤器的基础框架。 1. `Charset`类:这个类...

    Java字节流数据逐行读取(readLine)

    总结来说,虽然Java的字节流不直接支持`readLine()`方法,但通过结合`InputStreamReader`和`BufferedReader`,我们可以方便地实现字节流数据的逐行读取。在处理文本文件时,正确选择字符编码并确保资源的有效管理是...

    javaapi.zip

    5. **I/O 流**:Java 的 I/O 流模型允许开发者处理不同类型的输入和输出,如字符流(Reader 和 Writer)和字节流(InputStream 和 OutputStream)。还有转换流(如 InputStreamReader 和 OutputStreamWriter)用于在...

    java数据流的概述

    例如,BufferedInputStream和BufferedOutputStream提供缓冲,FilterInputStream和FilterOutputStream是所有过滤流的基类,而InputStreamReader和OutputStreamWriter将字节流转换为字符流。 在实际开发中,我们经常...

    Java-Io流,练习

    1. 字节流:Java的`java.io`包中提供了处理字节流的类,如`InputStream`和`OutputStream`作为所有字节输入流和输出流的基类。它们的子类如`FileInputStream`和`FileOutputStream`分别用于文件的读写。 2. 字符流:...

    java项目超市

    import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; ...

    Java 基础 第3阶段:高级应用-尚硅谷学习笔记(含面试题) 2023年

    I/O流处理是数据输入输出的关键,Java提供了多种类型的流,如字节流(InputStream和OutputStream)和字符流(Reader和Writer),还有缓冲流(BufferedInputStream/BufferedReader)和转换流(InputStreamReader/...

    java 字符集的解码方法

    Java中进行字符集解码主要使用`InputStreamReader`和`BufferedReader`类。`InputStreamReader`是字符流的基础类,它可以接受一个`InputStream`并指定字符集。例如,如果我们有一个字节输入流`byteInputStream`,我们...

Global site tag (gtag.js) - Google Analytics