【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
2016-08-05 19:38
495 查看
课程回顾:
流:数据通信的管道
常用的流类:
1、文件流:File:数据在文件中
1、FileInputStream
2、FileOutputStream
3、FileReader
4、FileWriter
2、内存流:ByteArray:数据在内存中(数组)
1、ByteArrayInputStream
2、ByteArrayOutputStream
3、缓冲流:Buffered:提高读写效率
1、BufferedInputStream
2、BufferedOutputStream
3、BufferedReader
readLine
4、BufferedWriter
newLine
今日内容:
常用的流类:
1、文件流:File:数据在文件中
1、FileInputStream
2、FileOutputStream
3、FileReader
4、FileWriter
2、内存流:ByteArray:数据在内存中(数组)
1、ByteArrayInputStream
2、ByteArrayOutputStream
3、缓冲流:Buffered:提高读写效率
1、BufferedInputStream
2、BufferedOutputStream
3、BufferedReader
readLine
4、BufferedWriter
newLine
4、转换流:用于字节流和字符流之间的转换,可以指定编码格式,处理流,字符流
1、OutputStreamWriter:转换输出字符流
输出字符流----》输出字节流
常用方法:
write:写出,字符
flush:刷新
2、InputStreamReader:转换输入字符流
输入字节流-----》输入字符流
常用方法:
read
skip
5、对象流(Object):可以将各种数据类型的数据写出(序列化)或读取(反序列化)
字节流,处理流
序列化:将对应的类的相关信息和对象的相关内容进行编码的过程,(暂态、静态的不会参与序列化)
反序列化:将序列化的内容进行解析
1、ObjectOutputStream:对象输出字节流
将数据进行序列化保存
常用方法:
writeXXX:写出不同的数据类型的数据
writeObject:写出对象
wirteUTF:写出字符串
2、ObjectInputStream:对象输入字节流
将数据进行反序列化读取
常用方法:
readXXX:读取指定类型的数据
readObject:读取一个对象
readUTF:读取字符串
对象流在使用的时候必须谨记以下两点:
1、对象流只能成对出现(使用对象输出流那么也必须使用对象输入流读取数据)
2、读写顺序必须一致(怎么写的就怎么读取)
writeInt----->readInt
对象流读取到文件末尾引发EOFException异常
当读取的字节数超过文件剩余的字节数时,都会引发EOFException异常
属性不参与序列化的方式:
1、静态的:static
静态的属性不参与序列化
2、暂态的:transient
修饰的属性不参与序列化
当将自定义类进行序列化保存的时候,对应的类必须实现Serializable(序列化接口)
6、打印流(Print):打印各种数据类型的数据,处理流
只有输出,没有输入
1、PrintStream:打印字节流
常用方法:
print:输出各种类型数据
println:输出各种类型数据,并且写出换行符
write:写出,字节
2、PrintWriter:打印字符流
常用方法:
print:输出各种类型数据
println:输出各种类型数据,并且写出换行符
write:写出,字符
三大标准(重定向):
1、标准输入流(InputSTream)
System.in:默认数据来自键盘输入
如果数据来自键盘的话,就读取不到文件的末尾,因为会阻塞的最后一次的read方法
System.setIn:重新设置标准输入的数据来源
2、标准输出流(PrintStream)
System.out:默认将数据输出到控制台
System.setOut:重新设置标准输出的位置
3、标准错误流(PrintStream)
System.err:默认将数据输出到控制台(字体红色)
System.setErr:重新设置标准错误流的位置
7、数据流:
1、DataInputStream
2、DataOutputStream
8、随机读取文件类:
流:数据通信的管道
常用的流类:
1、文件流:File:数据在文件中
1、FileInputStream
2、FileOutputStream
3、FileReader
4、FileWriter
2、内存流:ByteArray:数据在内存中(数组)
1、ByteArrayInputStream
2、ByteArrayOutputStream
3、缓冲流:Buffered:提高读写效率
1、BufferedInputStream
2、BufferedOutputStream
3、BufferedReader
readLine
4、BufferedWriter
newLine
今日内容:
常用的流类:
1、文件流:File:数据在文件中
1、FileInputStream
2、FileOutputStream
3、FileReader
4、FileWriter
2、内存流:ByteArray:数据在内存中(数组)
1、ByteArrayInputStream
2、ByteArrayOutputStream
3、缓冲流:Buffered:提高读写效率
1、BufferedInputStream
2、BufferedOutputStream
3、BufferedReader
readLine
4、BufferedWriter
newLine
4、转换流:用于字节流和字符流之间的转换,可以指定编码格式,处理流,字符流
1、OutputStreamWriter:转换输出字符流
输出字符流----》输出字节流
常用方法:
write:写出,字符
flush:刷新
2、InputStreamReader:转换输入字符流
输入字节流-----》输入字符流
常用方法:
read
skip
5、对象流(Object):可以将各种数据类型的数据写出(序列化)或读取(反序列化)
字节流,处理流
序列化:将对应的类的相关信息和对象的相关内容进行编码的过程,(暂态、静态的不会参与序列化)
反序列化:将序列化的内容进行解析
1、ObjectOutputStream:对象输出字节流
将数据进行序列化保存
常用方法:
writeXXX:写出不同的数据类型的数据
writeObject:写出对象
wirteUTF:写出字符串
2、ObjectInputStream:对象输入字节流
将数据进行反序列化读取
常用方法:
readXXX:读取指定类型的数据
readObject:读取一个对象
readUTF:读取字符串
对象流在使用的时候必须谨记以下两点:
1、对象流只能成对出现(使用对象输出流那么也必须使用对象输入流读取数据)
2、读写顺序必须一致(怎么写的就怎么读取)
writeInt----->readInt
对象流读取到文件末尾引发EOFException异常
当读取的字节数超过文件剩余的字节数时,都会引发EOFException异常
属性不参与序列化的方式:
1、静态的:static
静态的属性不参与序列化
2、暂态的:transient
修饰的属性不参与序列化
当将自定义类进行序列化保存的时候,对应的类必须实现Serializable(序列化接口)
6、打印流(Print):打印各种数据类型的数据,处理流
只有输出,没有输入
1、PrintStream:打印字节流
常用方法:
print:输出各种类型数据
println:输出各种类型数据,并且写出换行符
write:写出,字节
2、PrintWriter:打印字符流
常用方法:
print:输出各种类型数据
println:输出各种类型数据,并且写出换行符
write:写出,字符
三大标准(重定向):
1、标准输入流(InputSTream)
System.in:默认数据来自键盘输入
如果数据来自键盘的话,就读取不到文件的末尾,因为会阻塞的最后一次的read方法
System.setIn:重新设置标准输入的数据来源
2、标准输出流(PrintStream)
System.out:默认将数据输出到控制台
System.setOut:重新设置标准输出的位置
3、标准错误流(PrintStream)
System.err:默认将数据输出到控制台(字体红色)
System.setErr:重新设置标准错误流的位置
7、数据流:
1、DataInputStream
2、DataOutputStream
8、随机读取文件类:
相关文章推荐
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法
- 【幻化万千戏红尘】qianfengDay04-java基础学习:for语句.while语句,do-while语句
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList
- 【幻化万千戏红尘】qianfengDay13-java基础学习:String ,StringBuilder,StringBuffer,Date,Calendar
- 【幻化万千戏红尘】qianfengDay05-java基础学习:方法、return、重载
- 【幻化万千戏红尘】qianfengDay17-java基础学习:泛型,路径,File类,IO流
- 【幻化万千戏红尘】qianfengDay24-java基础学习:数据库、七大表语句、JDBC反射
- 【幻化万千戏红尘】qianfengDay20-java基础学习:数据流、随机读取文件流RandomAccessFile
- 【幻化万千戏红尘】qianfengDay22-java基础学习:线程安全、synchronized、死锁
- 【幻化万千戏红尘】qianfengDay11-java基础学习:数组,排序,算法
- 【幻化万千戏红尘】qianfengDay02-java基础学习:运算符、进制转换
- 【幻化万千戏红尘】qianfengDay08-java基础学习:修饰符、重写、继承、抽象、递归、final
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket
- 【幻化万千戏红尘】qianfengDay16-java基础学习:HashMap,HashTable,TreeMap
- 【幻化万千戏红尘】qianfengDay01-java基础学习:历史、数据类型
- 黑马程序员——JAVA基础——IO(一)---流概述,节点流、处理流、转换流与标准输入输出流、打印流、File文件对象、合并流
- 【幻化万千戏红尘】qianfengDay03-java基础学习:for循环,switch,if