内存操作流|学习笔记

简介: 快速学习 内存操作流

开发者学堂课程【Java 高级编程内存操作流】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/322


内存操作流


内容简介:


1. 文件操作流的特点

2. 内存流的优势

3. 内存操作流的分类

4. ByteArrayInputStream 与 ByteArrayOutputStream 构造分析

5. 范例:利用内存流实现小写字母转大写字母

6. ByteArrayOutputStream 类获取数据的方法

 

文件操作流的特点

程序利用 InputStream 读取文件内容,而后程序利用 OutputStream 向文件输出内容,所有的操作都是以文件为终端的。

图片47.png


内存流的优势

需要实现 IO 操作,可是又不希望产生文件(相当于临时文件)则可以以内存为终端进行处理。

图片48.png

内存流的优势:

需要实现 IO 操作,可是又不希望产生文件(相当于临时文件)则可以以内存为终端进行处理。

图片49.png

ByteArrayInputStream;

图片50.png

CharArrayReader;

图片51.png

CharArrayWriter:

图片52.png


ByteArrayInputStream 与 ByteArrayOutputStream 构造分析

.ByteArrayInputStream 构造:

public ByteArrayInputStream(byte[] buf);

.ByteArrayOutputStream 构造:

public ByteArrayOutputStream();

 

lByteArrayOutputStream 类获取数据的方法

在 ByteArrayOutputStream 类里面有一个重要的方法,这个方法可以获取全部保存在内存流里面的数据信息。

·获取数据:public byte[] toByteArray();

·使用字符串的形式来获取:public String toString();

 

范例:利用内存流实现小写字母转大写字母

public static void main(string[] args) throws Exception {

Stringstr="www.mldn.cn";// 小写字母

InputStream input = new ByteArrayInputstream(str.getBytes());//将数据保存在内存流OutputStream output = new ByteArrayoutputstream();

//读取内存中的数据

int data = 0;

while((data=input.read())!=-1){  //每次读取一个字节

output.write(Character.toUpperCase(data));//保存数据

}

System.out. println (output);

input.close();

output.close();

}

相关文章
【深入理解计算机系统】int 不是整数 | float 不是实数 | 内存引用错误的例子 | 学习笔记
【深入理解计算机系统】int 不是整数 | float 不是实数 | 内存引用错误的例子 | 学习笔记
281 0
|
存储 编译器 C语言
【C++】学习笔记——内存管理
【C++】学习笔记——内存管理
152 15
|
存储 缓存 Linux
计算机操作系统学习笔记(5)——内存管理
计算机操作系统学习笔记(5)——内存管理
211 0
|
存储 程序员 编译器
c++学习笔记08 内存分区、new和delete的用法
C++内存管理的学习笔记08,介绍了内存分区的概念,包括代码区、全局区、堆区和栈区,以及如何在堆区使用`new`和`delete`进行内存分配和释放。
179 0
|
存储 C++
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
136 2
|
存储 缓存 算法
十五、Linux性能优化实战学习笔记 - Linux内存是怎么工作的
内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等
501 1
|
NoSQL Redis
Redis学习笔记-内存碎片对性能的影响
Redis学习笔记-内存碎片对性能的影响
231 0
|
存储 并行计算 测试技术
【CUDA学习笔记】第五篇:内存以及案例解释(附案例代码下载方式)(二)
【CUDA学习笔记】第五篇:内存以及案例解释(附案例代码下载方式)(二)
347 0
【CUDA学习笔记】第五篇:内存以及案例解释(附案例代码下载方式)(二)
java202302java学习笔记第十天-数组的内存图1
java202302java学习笔记第十天-数组的内存图1
198 0
java202302java学习笔记第十天-数组的内存图1
java202302java学习笔记第六天-创建内存对象分析
java202302java学习笔记第六天-创建内存对象分析
217 0
java202302java学习笔记第六天-创建内存对象分析