`
wede
  • 浏览: 702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java 字节流(OutputStream、InputStream)与字符流(Writer、Reader) 学习

阅读更多
首先,如果需要针对于文件的内容进行处理操作,则必须使用两类数据流:
· 字节流:OutputStream、InputStream;
· 字符流:Writer、Reader。

字节流是直接进行操作,而字符流需要经过处理。所有保存在磁盘上或者网络传输的数据都是字节,而所有的字节重新在内存之中整合在一起,就是字符。 但是不管使用的是字节流还是字符流,其基本的操作流程都是类似的,以文件操作为例:
· 通过File类设置一个要操作的文件路径;
· 通过字节流或字符流的子类为父类对象实例化;
· 进行数据的读、写处理操作; · 关闭流。

2.1、字节输出流:OutputStream
字节输出流采用的是byte数据类进行的操作处理,主要可以进行二进制数据的操作。如果要进行字节数据的输出操作使用OutputStream类完成。

2.2、字节输入流:InputStream
现在已经可以通过OutputStream实现了数据的输出操作,但是也同样可以使用程序进行数据的读取,而读取的操作可以使用InputStream类完成。首先来观察InputStream类的定义。

2.3、字符输出流:Writer
Writer是专门负责字符(char、String)输出的操作,
2.4、字符输入流:Reader
Reader属于字符的输入流抽象类,可以使用FileReader实现文件的读取处理,在Reader里面如果要进行数据的读取使用如下方法完成:public int read(char[] cbuf) throws IOException。

2.5、字节流与字符流的区别
清楚了字节流和字符流的概念之后必须面对的问题在于:开发之中使用那种数据流,以及两种数据流的区别是什么? 一句话总结:如果描述中文处理一定使用字符流,如果处理数据传输,那么使用字节流。 在使用字节流进行处理的时候不会使用到内存处理,而直接与原始数据产生交互。在使用字符流处理的时候如果没有进行关闭处理,那么所有的数据都只是会保存在缓冲区之中,而当进行了关闭处理之后会强制性的将缓冲区中的数据清空。如果现在在使用字符流的时候不希望进行关闭,那么也可以使用flush()强制清空:public abstract void flush() throws IOException。
分享到:
评论

相关推荐

    Java字节流与字符流的介绍.pdf

    Java 字节流与字符流的介绍 Java 中的流操作可以分为两种:字节流和字符流。字节流是指以 byte 为单位进行读写操作的流,而字符流是指以 char 为单位进行读写操作的流。 字节流的介绍 字节流的所有读操作都继承自...

    java 文件存储 Inputstream outputstream reader writer的用法

    `InputStream`、`OutputStream`、`Reader`和`Writer`是Java IO流的基础类,它们提供了读写文件的基本接口。本篇文章将深入讲解这些类的用法,并提供实际的代码示例,帮助初学者更好地理解和应用。 1. `InputStream`...

    java字节流和字符流

    与字节流相对应,字符流由`Reader`和`Writer`类组成。字符流处理的是Unicode字符,因此每个字符通常占用两个字节。`Reader`是所有字符输入流的基类,`Writer`是所有字符输出流的基类。它们提供读写字符的方法,如`...

    java字节流和字符流[整理].pdf

    转换流:在字节流和字符流之间,Java提供了解决两者不兼容问题的转换流,即InputStreamReader和OutputStreamWriter。InputStreamReader是字节输入流到字符输入流的桥梁,而OutputStreamWriter则是字节输出流到字符...

    Java字节流 .pdf

    Java字节流是一种用于处理字节数据的流处理机制,在Java中,字节流不包含边界数据的连续流,字节流是由字节组成的,Java里字符由两个字节组成。字节流是最基本的,它是按字节来处理二进制数据。 字节流基类有:字节...

    Java 字节流、字符流题目.docx

    Java的输入和输出主要涉及到流的...总的来说,这个实验旨在帮助学习者理解Java中字节流和字符流的基本概念和用法,包括文件的读写、字符与字节的转换以及流的层次结构。通过实践这些练习,可以深入掌握Java的I/O操作。

    字节流字符流

    通过阅读和理解这些代码,我们可以深入学习如何在Java中运用字节流和字符流进行文件操作,以及如何在需要时进行两者之间的转换。 总的来说,字节流和字符流是Java I/O系统的重要组成部分,理解它们的工作原理和应用...

    java字节流和字符流[借鉴].pdf

    与字节流一样,字符流也有缓冲的概念,可以使用 BufferedReader 和 BufferedWriter 对性能进行优化,减少与底层 I/O 操作的交互次数。 总结: Java 的 IO 流系统是基于流的,提供了对数据的读写操作。字节流适用于...

    Java 字节流、字符流题目.pdf

    字节流分为输入流和输出流,Java中最基础的字节流类是`InputStream`和`OutputStream`。字节流通常用于处理二进制数据,如图片、音频、视频等。在本实验中,有以下几个练习涉及到字节流: 1. 练习一:通过`...

    IO流学习(字节流 字符流 文本流)!

    字节流是最基础的IO流类型,分为输入字节流(InputStream)和输出字节流(OutputStream)。它们处理的数据单位是字节,适用于所有类型的数据,包括图片、音频、视频等二进制数据。例如,FileInputStream和...

    JAVA_字节流和字符流

    在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。字节流主要用于处理任何类型的二进制数据,如图片、音频、视频等,而字符流则专为处理基于Unicode编码的...

    Java实现字节流与图片的转化

    在Java中,字节流分为两种类型:输入字节流(InputStream)和输出字节流(OutputStream)。它们分别用于读取和写入数据。字节流通常用于处理非文本文件,因为这些文件由一系列字节组成,而不是字符。 要实现字节流...

    字节流字符流练习

    Java中的字节流主要由InputStream和OutputStream两大类构成,它们分别代表数据的输入和输出。InputStream是所有字节输入流的基类,包括FileInputStream、BufferedInputStream等;OutputStream则是所有字节输出流的...

    IO流文档InputStream / OutputStream

    IO流是Java中的一种基本的数据交换方式,通过InputStream和OutputStream可以实现数据的读取和写入,而Reader和Writer可以实现字符流的读取和写入。IO流的知识点很多,需要认真学习和掌握。 InputStream的类型: * ...

    JavaIO实例_字节流_字符流_缓冲流_转换流IODemo

    在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...

    JavaIO实例|字节流|字符流|缓冲流|转换流IODemo

    字符流由Reader和Writer类族构成,如InputStreamReader和OutputStreamWriter,它们分别用于将字节流转换为字符流。字符流在处理Unicode字符集时特别有用,因为它可以正确处理多种语言的字符编码。例如,使用 ...

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

    然而,`readLine()`方法通常与字符流Reader类关联,而不是字节流InputStream类。因此,要使用字节流实现数据逐行读取,我们需要结合`BufferedReader`和`InputStreamReader`。 首先,理解`readLine()`方法。它是`...

    理解Java中字符流与字节流的区别

    1. 什么是流 ...Java中基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流。InputStream类与OutputStream类均为抽象类,我们在实际使用中通常使用Java类库中提

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

Global site tag (gtag.js) - Google Analytics