内存操作流|学习笔记

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

开发者学堂课程【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 不是实数 | 内存引用错误的例子 | 学习笔记
75 0
|
3月前
|
存储 程序员 编译器
c++学习笔记08 内存分区、new和delete的用法
C++内存管理的学习笔记08,介绍了内存分区的概念,包括代码区、全局区、堆区和栈区,以及如何在堆区使用`new`和`delete`进行内存分配和释放。
48 0
|
5月前
|
存储 编译器 C语言
【C++】学习笔记——内存管理
【C++】学习笔记——内存管理
55 15
|
5月前
|
存储 C++
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
|
存储 缓存 Linux
计算机操作系统学习笔记(5)——内存管理
计算机操作系统学习笔记(5)——内存管理
113 0
|
NoSQL Redis
Redis学习笔记-内存碎片对性能的影响
Redis学习笔记-内存碎片对性能的影响
103 0
|
存储 缓存 算法
十五、Linux性能优化实战学习笔记 - Linux内存是怎么工作的
内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等
304 1
|
存储 缓存 NoSQL
二十一、Linux性能优化实战学习笔记- 如何“快准狠”找到系统内存的问题?
已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量。
136 0
|
存储 缓存 Linux
十八、Linux性能优化实战学习笔记- 内存泄漏了,我该如何定位和处理?
当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存.对应用程序来说,动态内存的分配和回收,是既核心又复杂的一个逻辑功能模块。管理内存的过程中,也很容易发生各种各样的“事故”.
120 0
|
存储 缓存 BI