文章出处:http://blog.csdn.net/yuebinghaoyuan/article/details/7388059
Java中的流,可以从不同的角度进行分类。
按照处理数据单位不同可以分为:字节流和字符流。
按照实现功能不同可以分为:节点流和处理流。
输出流:
输入流:
因此输入和输出都是从程序的角度来说的。
字节流:一次读入或读出是8位二进制。
字符流:一次读入或读出是16位二进制。
字节流和字符流的原理是相同的,只不过处理的单位不同而已。后缀是Stream是字节流,而后缀是Reader,Writer是字符流。
节点流:直接与数据源相连,读入或读出。
直接使用节点流,读写不方便,为了更快的读写文件,才有了处理流。
处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。
Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。
以下是java中io中常用的流。
字节输入流:
字节输出流:
字符输入流:
字符输出流:
简单介绍其上图:
对文件进行操作:FileInputStream(字节输入流),FileOutputStream(字节输出流),FileReader(字符输入流),FileWriter(字符输出流)
对管道进行操作:PipedInputStream(字节输入流),PipedOutStream(字节输出流),PipedReader(字符输入流),PipedWriter(字符输出流)
PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用,共同完成管道的读取写入操作。主要用于线程操作。
字节/字符数组:ByteArrayInputStream,ByteArrayOutputStream,CharArrayReader,CharArrayWriter是在内存中开辟了一个字节或字符数组。
Buffered缓冲流::BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter,是带缓冲区的处理流,缓冲区的作用的主要目的是:避免每次和硬盘打交道,提高数据访问的效率。
转化流:InputStreamReader/OutputStreamWriter,把字节转化成字符。
数据流:DataInputStream,DataOutputStream。
因为平时若是我们输出一个8个字节的long类型或4个字节的float类型,那怎么办呢?可以一个字节一个字节输出,也可以把转换成字符串输出,但是这样转换费时间,若是直接输出该多好啊,因此这个数据流就解决了我们输出数据类型的困难。数据流可以直接输出float类型或long类型,提高了数据读写的效率。
打印流:printStream,printWriter,一般是打印到控制台,可以进行控制打印的地方。
对象流:ObjectInputStream,ObjectOutputStream,把封装的对象直接输出,而不是一个个在转换成字符串再输出。
序列化流:SequenceInputStream。
对象序列化:把对象直接转换成二进制,写入介质中。
使用对象流需要实现Serializable接口,否则会报错。而若用transient关键字修饰成员变量,不写入该成员变量,若是引用类型的成员变量为null,值类型的成员变量为0.
相关推荐
Java流是Java编程语言中处理数据输入和输出的重要机制,它允许程序在内存与外部设备之间,以及程序的不同部分之间高效地传输数据。Java流分为字节流和字符流两大类,字节流处理单个8位字节的数据,而字符流处理...
Java流媒体控制是Java编程中一个重要的领域,它涉及到数据传输和处理,特别是在音频和视频内容的实时或异步播放中。Java提供了多种流类型,包括字符流、字节流和特殊的音频流,来实现对这些媒体数据的有效操作。下面...
### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...
最后,Java流媒体播放程序应具备良好的错误处理机制,如网络中断后的恢复、媒体文件格式不支持时的提示等。同时,考虑到不同的操作系统和硬件环境,程序还需要考虑跨平台的兼容性。 总的来说,Java 实现流媒体播放...
Java流是Java编程语言中处理输入输出操作的重要机制,它为数据传输提供了高效且灵活的方式。在Java中,文件操作是通过流的概念实现的,这允许我们读取、写入、移动、复制以及修改文件。下面我们将深入探讨Java流如何...
JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子JAVA流文件全部例子
下面将详细介绍如何利用JAVA流、FileReader和BufferedReader来实现这个功能。 首先,我们需要理解什么是JAVA流。在Java中,流是一组有序的数据序列,可以是字节流或字符流,用于从源(如文件、网络连接等)读取数据...
本文将详细讲解如何使用Java操作Excel数据,并重点探讨Java流的读取技术。 首先,Java中处理Excel文件最常用的库是Apache POI。Apache POI是一个开源项目,它提供了对Microsoft Office格式的全面支持,包括Excel(....
包括一下内容 1Java 流式输入/输出原理 2Java 流类的分类 3输入/输出流类 4常见的节点流和处理流 5文件流 6缓冲流 7数据流 8转换流 9Print流
在本文中,我们将深入探讨Java流和文件处理的一些关键知识点。 首先,流是Java中的一个抽象概念,它代表了数据的有序传输。流可以是字节流(处理原始字节数据)或字符流(处理Unicode字符)。Java提供了许多类来...
Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...
DownloadPicture.java 流下载图片实例 DownloadPicture.java 流下载图片实例 DownloadPicture.java 流下载图片实例 DownloadPicture.java 流下载图片实例
java流复制图片,这个是老师给的demo,很不错,有时候能用到
Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTSP)、实时传输协议(RTP)、实时控制协议(RTCP)以及互联网工程任务组(IETF)定义的交互式网络电视(ITV)协议族。这个压缩包文件"采用red5视频流服务的web视频...
java流IO超详细使用,包含:怎么理解流,输出输入流,6个重要的方法,架构体系,分类,java做压缩程序的代码等等。。。。
Java流是Java编程语言中处理数据输入和输出的重要机制,它允许程序在内存与外部设备之间,以及程序的不同部分之间高效地传输数据。Java流分为字节流和字符流两大类,字节流处理单个字节的数据,而字符流处理Unicode...
Java流是Java编程语言中处理数据输入和输出的重要机制,特别是在读取、写入或传输大量数据时。在Java中,流(Stream)被设计为一种抽象的概念,它允许我们以统一的方式处理各种类型的I/O操作,无论是从硬盘、网络...
通过学习和理解这些类的功能和交互,开发者可以构建自己的Java流媒体应用,支持实时音视频的播放和控制。这涉及到网络编程、多媒体处理和移动设备应用开发等多个方面的知识,对于深入理解流媒体系统及其在Java环境下...
使用Java流来处理文件下载是一种非常常见的技术手段。本文将详细介绍如何利用Java的流(Stream)技术实现文件的下载操作,并解释代码中的各个部分及其工作原理。 #### 二、知识点详解 ##### 2.1 文件路径与对象...