在java中,把一组有序的数据序列称为流,流也分为
节点流类和过滤流类。用于直接操作目标设备所对应的流叫节点流(FileInputStream/byteArrayInputStream等),通过一个间接流类去调用节点流类,以达到更加灵活方便地读写各种类型的数据,叫个间接流就是过滤流(DataInputStream/BufferedInputstream等,当然也可以是BufferedReader)。
字节流:根类是
InputStream和OutputStream,是抽象类,操作的最小单元是一个字节。值得注意的是其中的skip(long n)方法默认实现是创建一个byte数组,然后重复将字节读入其中,知道读够n个字节或已达到流末尾。
其中缓冲流类BufferedInputStream和BufferedOutputStream类将一个字节流转变成一个带缓冲的字节流,从而使流具有缓冲能力并支持skip()和reset()操作,其内部会创建一个字节数组用于缓冲,默认缓冲区大小是8192字节;对于BufferedInputStream,当读取数据时,数据按块读入缓冲区,其后的操作则直接访问缓冲区。对于BufferedOutputStream进行输出时,数据首先写入缓冲区,当缓冲区满时,其中的数据写入所串联的输出流,该类提供的flush()方法尅强制将缓冲区的内容全部写入输出流。
数据流类DataInputStream和DataOutputStream类提供了读写各种基本数据类型以及String对象的方法:readByte()、readFloat()、readLong()、readUTF()等,有一点要注意的是,
读取方法的顺序要跟写入方法的顺序一样。
字符流:根类是Reader和Writer,Reader类能够将输出流中采用其他编码类型的字节流转换为unicode字符,然后在内存中为这些unicode字符分配内存。writer类能够把内存中的Unicode字符转换为其他编码类型的字节流,再写到输出流中。
在默认的情况下,Reader和Writer会在本地平台的字符编码和Unicode字符编码之间进行编码转换。由于Reader和Writer采用了字符编码转换技术,java I/O系统能够正确地访问采用各种字符编码的文本文件,另外在为字符分配内存时,虚拟机统一采用Unicode字符编码,因此java程序处理字符具有平台无关性。
标准I/O:java.lang.System类中提供了以下三个静态常量:1、Static final InputStream in(标准输入流) 2、static final PrintStream out(标准输出流) 3、static final PrintStream err(标准错误输出流),在默认情况下,标准输入流从键盘读取数据,标准输出流和标准错误输出流向控制台输出数据,它们都是在启动应用程序时自动创建的,存在于整个程序运行的生命周期中。java的System类还提供了一些简单的静态方法来对这几个流进行重定向:setIn(InputStream in)、setOut(PrintStream out)、setErr(PrintStream err)。
分享到:
相关推荐
Java输入输出流(I/O流)是Java编程中不可或缺的一部分,它允许程序处理数据的读取和写入操作。在Java中,一切皆为对象,所以输入和输出操作也被抽象成了一系列的类,这些类构成了Java I/O系统的核心。本章主要涵盖...
下面将详细阐述Java输入与输出流的相关知识点。 1. **流的概念**: 流是Java I/O的核心概念,它代表数据的源或目的地。流可以是向文件、内存、网络连接等地方读写数据。Java中的流分为字节流和字符流,字节流处理...
第8章 java输入输出流
### Java输入输出流与文件处理 #### 重要概念与基础知识 **输入输出流与文件处理**在编程领域占据着核心地位,特别是在Java中,通过`java.io`包提供了丰富的类和接口来支持输入输出操作。这包括从键盘读取用户输入...
Java输入输出流是Java编程语言中的核心概念,用于在程序之间、程序与文件系统、网络连接等不同数据源之间传输数据。在这个主题中,我们将深入探讨Java输入输出流的使用,通过具体的代码示例帮助你理解和掌握这个关键...
Java编程入门第八章主要涉及的是Java程序中的输入与输出(I/O)操作,这是任何编程语言中都必不可少的一部分。在Java中,输入与输出不仅包括从键盘读取数据或者向控制台打印信息,还包括文件操作、网络通信等多种...
【Java输入输出流详解】 Java中的输入/输出流(I/O流)是处理程序与外部交互数据的关键组件。第6章主要围绕Java的I/O流展开,包括输入流、输出流以及文件读写操作。 6.1 输入/输出流 在Java中,I/O流是一个抽象...
Java输入输出流(I/O流)是Java编程中不可或缺的一部分,它主要用于程序与外部设备(如硬盘、键盘、显示器等)之间数据的传输。在Java中,I/O流被分为两类:字节流(Byte Stream)和字符流(Character Stream)。...
Java I/O 系统是Java程序进行输入输出操作的核心部分,它允许程序与外部世界交换数据。本章主要围绕Java I/O展开,包括了输入/输出流、标准IO、正则表达式与IO、新IO、压缩以及对象序列化等多个重要主题。 8.1 Java...
标题中的“jsp .java中输入输出流 java IO 下载 流的应用先01 > 02 > 01”指的是一个关于Java编程中输入输出流(IO)在JSP(JavaServer Pages)和Java应用程序中的使用,特别是针对文件下载场景的知识点讲解。...
Java中的输入输出流(I/O流)是Java程序与外部数据源交互的重要工具,它允许程序从设备(如键盘、磁盘、网络等)读取数据或将数据写入到这些设备。在Java中,I/O流被设计为一种抽象概念,以提供与设备无关的输入输出...
本篇将详细介绍Java输入输出系统中的几个关键概念和技术。 **8.1 字节流** 字节流主要用于处理二进制数据,包括输入流(InputStream)和输出流(OutputStream)。InputStream 是所有字节输入流的基类,提供了一...
Java输入输出流是Java编程语言中处理数据传输的关键部分,主要位于`java.io`包中。这个包提供了各种类和接口,使得程序能够从不同源(如键盘、文件、网络等)读取数据,并将数据写入不同的目标。在第八章的课件中,...
《Java I/O, 2nd Edition》是一本深入探讨Java输入/输出系统的重要书籍,针对Java平台的I/O系统提供了全面且深入的指南。这本书在第二版中对Java I/O进行了更新,涵盖了从Java 5到Java 8的最新发展,包括NIO.2(New ...
5. 在Java Application程序中,若需要使用标准输入输出,必须导入java.io.*包,因为标准输入输出流如System.in和System.out属于该包。 6. FileInputStream是字节流,不属于字符流。InputStreamReader是字符流,它...
15. 关于Java输入/输出流的错误说法是B)。`Reader`和`Writer`处理字符流,而不是字节流。选项A正确描述了`FileInputStream`和`FileOutputStream`的作用,选项C和D没有明显的错误。 综上所述,Java中的输入流与输出...
第八章主要讨论了Java中的输入/输出处理,这是大多数程序都需要的基本功能,包括从键盘接收数据、显示到屏幕上、读写文件以及在网络中传输数据。 首先,IO流(Input/Output Stream)是Java中处理输入和输出的主要...
#### 一、Java输入输出流IO概览 Java的输入输出流(Input/Output Stream,简称IO)是Java编程语言中用于处理数据读写的重要部分。它主要涉及数据从一个源流向另一个目的地的过程。Java中的IO流可以分为字节流和字符...
Java文件输入输出是Java编程中的基础且重要的一部分,它涵盖了数据在文件系统和程序之间的传输。这个主题包括了多种类和方法,使得开发者能够高效地处理文件内容。本文将深入探讨Java中的文件输入输出机制,以及如何...