内存操作流(内存流基本操作)|学习笔记

简介: 快速学习 内存操作流(内存流基本操作)

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

课程地址:https://developer.aliyun.com/learning/course/372/detail/4611


内存操作流(内存流基本操作)


目录

一·内存操作流的定义

二·范例:通过内存流实现一个大小写转换的操作

 

一·内存操作流的定义

之前所有的操作,都是针对文件进行的 IO 处理,那么除了文件之外,IO 的操作也可以发生在内存之中。

这种流就称为内存操作流。文件流的操作里面一定会产生一个文件数据(不管最后这个文件数据是否被保留。)那么现在的要求就是需要发生 IO 处理。那么又不希望产生文件。

这种情况下就可以使用内存操作为操作的终端。

在 Java 中有两类数据流

·字节内存流

ByteArrayInputStream、ByteArrayOutputStream;

·字符内存流CharArrayReader、CharArrayWriter

观察 ByteArrayInputStream 和 ByteArrayOutputStream 类中提供的构造方法

ByteArrayInputStream 类构造:

public ByteArrayInputStream(byte[] buf)

ByteArrayOutputStream 类构造:

public ByteArrayOutputStream()


二·范例:通过内存流实现一个大小写转换的操作

public class TestDemo {

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

String msg ="hello world !!!";

//实例化 Inputstream 类对象,实例化的时候需要将你操作的数据保存到内存之中,最终你读取的就是你设置的内容

Inputstream input=new ByteArrayInputstream(msg.getBytes()); Outputstream output =new ByteArrayoutputstream();

int temp=0;

while((temp =input.read())!=-1) {

output.write(Character.toUpperCase(temp));//每个字节数据进行处理

} //此时所有的数据都在 Outputstream 类中了

System.out.println(output);//直接输出对象,调用 tostring() input.close();

output.close();}

这个时生了 io 操作,但是没有文件产生。

所以可以理解为一个临时文件方式处理。

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

热门文章

最新文章