1. Java的流分为 Inputstream 和 OutputStream;
2. 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等;
3. Java中,流,简单的说就是字节(byte),可以把它看作是很多很多字节(byte) 汇在一起形成的东西,起个名字就叫流,像水滴形成河流一样,呵呵,个人形象的解释;
4. 一个流,必有源端和目的端,也即必须有数据(Data)和字节(byte)两个部分,数据(Data):可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL;字节就不用说了 byte;
5. 流的源端和目的端可简单地看成是字节的生产者和消费者,由数据变成字节,是生产字节、生产流,是Data(数据)Out出流(Stream);由字节恢复成数据,是读取字节、消费流;
6. 流的方向很重要,根据流的方向,流可分为两类:输入流和输出流。流的方向是最难理解和最容易搞糊涂的,具体如下:
DataOutputStream:解释:是对象Data: out出 字节stream, 生产出流, 把数据(Data)变成字节(byte), 把数据写到内存里,是以程序中的数据Data为参照对象,直接翻译成英文即为其含义: "(参照物)数据: 输出流", 是生成字节,所以是写
*参照物* ——> Stream 数据转换成生成字节(byte) Out源 端 ——> 生成流 生产字节
把数据 write 成字节保存到内存中
DataInputStream:解释:是对象Data(应该是程序): in进 字节stream变成数据, 消费流, 读取字节(byte)转换恢复成数据(Data),是以程序中的数据Data为参照对象,直接翻译成英文即为其含义: "(参照物)数据: 输入(进)流", 是读取字节,所以是读
(参照物) <—— Stream 读取字节(byte)转换成数据 In目的端 <—— 读取流 消费字节
从内存中 read 出字节, 转换成数据
【转自】http://www.qqread.com/java/2008/08/w427980.html
对于我们常用的GBK中,英文是占用1个字节,中文是2个
对于UTF-8,英文是1个,中文是3个
对于Unicode,英文中文都是2个
分享到:
相关推荐
- **终止操作的概念**:Stream在执行完一系列中间操作后,必须有一个终端操作来结束这个操作链,例如收集结果或进行某种形式的输出。 - **终止操作的类型**:包括短路操作(如`anyMatch()`, `findFirst()`)和非短路...
Java8并行流中自定义线程池操作示例主要介绍了Java8并行流中自定义线程池操作,结合实例形式分析了并行流的相关概念、定义及自定义线程池的相关操作技巧。 1. 概览 Java8引入了流的概念,流是作为一种对数据执行...
Java Stream 流是Java 8引入的一个重要特性,与Lambda表达式一起,为处理集合提供了新的方式。Stream 不是存储数据的容器,而是提供了一种对数据进行操作的抽象概念,它可以来源于数组、集合或其他数据源。Stream ...
Java Stream 是Java编程语言中处理数据流的一种抽象概念,它允许程序员以一种声明性的方式处理数据,特别是集合数据。在Java中,Stream主要用于处理大量数据,它可以与集合、I/O通道等多种数据源交互,提供了丰富的...
Java的IO流与Stream流是Java程序中处理输入输出的核心技术。IO流主要分为字节流和字符流,这两种流分别处理二进制数据(如图片、音频等)和文本数据(如ASCII、UTF-8编码的文本)。下面将详细阐述这两个流的分类、...
这篇博文将深入探讨Java 8中的流,并结合`java8-stream.xls`这个Excel文件来解析流的相关概念。 **1. 流的概念** 流是Java 8引入的新概念,它是一个顺序或并行的数据序列,可以源自任何支持数据源(如集合、数组、I...
本套黑马程序员的Java函数式编程视频教程涵盖了Lambda表达式、Stream流以及函数式编程的核心概念,旨在帮助学习者全面掌握这一现代编程技术。 Lambda表达式是Java 8引入的关键特性,它允许我们以更简洁的方式定义...
本文将详细介绍 Java Stream 的基本概念、使用方法和应用场景。 一、什么是 Java Stream API? Java Stream 是一个数据流经的管道,并且在管道中对数据进行操作,然后流入下一个管道。它提供了一种新的编程方式,...
Java中主要分为两种流:输入流(Input Stream)和输出流(Output Stream)。 ##### 2. InputStream 类 - **2.1 read 方法** `InputStream`类中的`read`方法用于从指定的输入流读取数据,主要有三种形式: 1. `int ...
1. **Stream API的基本概念** - Stream API是一种用于处理集合的新接口,它专注于数据的处理,而不是数据的存储。Stream不是集合元素的容器,而是对集合数据进行计算的工具。 - Stream可以来源于集合、数组、I/O...
Java8中引入的Stream流是处理集合的新方式,它以函数式编程为基础,通过Lambda表达式和方法引用大大提高了代码的表达力和效率。学习掌握Stream流的操作,有助于我们编写出更加简洁、优雅的代码,有效应对现代编程中...
该PPT为本人翻遍大部分帖子、博客、资源等一系列资料自我整合了一套技术分享PPT,以Java为载体,概括了Lambda表达式的使用概念、函数式编程的思想,以及Stream流的各个方法的使用,Stream流的强大功能等。
2. 流的概念:流(Stream)是一个抽象概念,代表一连串连续动态的数据集合。它可以比喻成水流,数据如同水流般从源头流动到目标。在编程中,流提供了读取和写入数据的途径。 3. 简单的IO流程序示例:以文件读取为例...
在Java中,输入输出操作主要通过流(Stream)的概念来实现。流是一种可以连续读取或写入数据的方式。根据数据类型的不同,Java提供了两种类型的流: 1. **字节流**(Byte Stream):处理字节数据,基本类型为`byte`...
IO流的概念基于流(Stream)模型,数据以字节或字符序列的形式流动。Java IO库提供了丰富的类和接口来支持不同类型的流,包括字节流、字符流、对象流、缓冲流、转换流以及过滤流等。 字节流(Byte Stream)是处理...
根据提供的文件信息,本文将详细介绍Java 8中Stream API的核心概念、使用方法及其实战案例。Stream API作为Java 8的重要特性之一,极大地简化了集合处理的代码编写过程,提升了程序的可读性和效率。 ### Stream概述...
- Java 8的流API遍历:`collection.stream().forEach(action);` 9. **集合与数组的区别**: 数组长度固定,而集合的大小可变;数组支持下标访问,集合则通过迭代器访问。 10. **集合的最佳实践**: - 根据需求...
Java IO流是Java编程语言中处理输入和输出的重要机制,它允许程序与各种类型的输入源(如键盘、文件、网络连接)以及输出目标(如显示器、文件、网络)进行交互。在Java中,I/O流被设计为面向对象,使得处理数据变得...
Java中的Stream流是一种抽象的数据处理方式,它允许我们以声明性的方式处理数据集合。Stream API自Java 8引入,极大地提升了Java程序员处理数据的效率和代码的简洁性。Stream流与传统的集合操作不同,它并不直接修改...
IO流在Java中分为两大类:输入流(Input Stream)和输出流(Output Stream)。输入流用于从源(如文件、网络连接等)读取数据,而输出流则用于向目的地(如磁盘、显示器、网络等)写入数据。根据处理的数据单位,流...