JAVA IO流(内存流、管道流、打印流)
1、内存操作流
2、管道流
3、字节、字符转换流
4、字符的编码问题
5、打印流
6、System类对IO的支持
7、对象序列化
内存操作流
FileInputStream 和FileOutputStream的时候所有的操作的目标是文件,那么如果现在假设有一些临时的信息保存在文件之中则肯定很不合理,因为操作的最后还要把文件再删除掉,所以此时在IO就提供了一个内存的操作流,通过内存操作流输入和输出的目标是内存。
使用ByteArrayOutputStream 和ByteArrayInputStream完成内存的操作流。
*在内存操作流中所有的输入和输出都是以内存为操作的源头
*ByteArrayOutputStream 是用于从内存向程序输出的。
*ByteArrayInputStream 是用于从程序向内存写入的。
ByteArrayInputStream的构造方法:public ByteArrayInputStream(byte[] buf)
*表示把内容向内存中写入。
ByteArrayOutputStream来讲,其基本的作用就是与OutputStream一样,一个个的读取数据。
范例:使用内存操作流,完成一个字符串由小写字母变成大写字母的操作:
package com.demo.io;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;public class PrintDemo2 {public static void main(String[] args) throws FileNotFoundException {File file = new File("g:"+File.separator+"printDemo2.txt");PrintStream printStream = new PrintStream(new FileOutputStream(file));String name = "杨跃跃";int age = 24;float pay = 1000000.91f;char sex = '女';printStream.printf("姓名:%s\r\n年龄:%d\r\n工资:%7.2f\r\n性别:%c",name,age,pay,sex);printStream.close();}}打印流中一定要始终记住以下原则,根据实例化其子类的不同,完成的打印输出功能也不同。