【幻化万千戏红尘】qianfengDay18-java基础学习:文件流、内存流、缓冲流
2016-08-05 09:05
351 查看
课程回顾:
自定义泛型
受限泛型
File:操作系统中的文件或目录
mkdir
mkdirs
createNewFile
getName
length
renameTo
delete
listFiles
I/O:数据通信的管道
1、按照流向
2、按照单位
3、按照功能
4大流的祖类,都是抽象类
InputStream
OutputStream
Reader
Writer
今日内容:
输出流,如果文件不存在,会自动创建(如果对应的目录不存在,就会报错)
输入流,如果文件不存在,就会报错
节点流:直接操作数据的流
1、文件流
2、内存流
处理流:操作流的流
一、文件流:操作文件的流:数据存储在文件中 节点流
1、FileWriter:文件输出字符流,常常用来写出字符的内容
常用方法:
write:写出,可以写出一个字符,字符数组,字符串
flush:刷新,为了及时将数据写入到文件中
2、FileReader:文件输入字符流
read:读取,读取一个字符,读取指定长度的字符
skip:跳过,跳过指定个数的字符
3、FileOutputStream:文件输出字节流
常用方法:
write:写出,写出一个字节、字节数组
flush:刷新,将缓冲区内的数据写出到文件中
4、FileInputStream:文件输入字节流
常用方法:
read:读取,读取一个字节,字节数组
skip:跳过,跳过指定个数的字节
注意:\r在控制台的作用和文件中的作用不一样
\r在控制台:光标移到到首位,然后将\r后面的字符覆盖前面的内容
\r在文件中,起到换行的作用
在windows下:\r\n起到换行的作用(通用)
练习:请写出20个随机字母,并读取
二、内存流:操作内存的流:数据存储在内存中 节点流
1、ByteArrayOutputStream:字节数组输出字节流:内存输出字节流
常用方法:
write:写出
flush:刷新
toByteArray:将内部数据源返回,byte数组
2、ByteArrayInputStream:字节数组输入字节流:内存输入字节流
常用方法:
read:读取,字节
skip:跳过
一般当一个资源不需要进行本地化保存的时候,我们会使用内存流
因为内存流效率很高
三、缓冲流:提高读写效率 过滤流
1、BufferedWriter:缓冲输出字符流
常用方法:
write:写出
flush:刷新
newLine:写入换行符
2、BufferedReader:缓冲输入字符流
常用方法:
read:读取,字符
skip:跳过,字符
readLine:读取一行,返回字符串
3、BufferedOutputStream:缓冲输出字节流
常用方法:
write:写,字节
flush:刷新
4、BufferedInputStream:缓冲输入字节流
常用方法:
read:读取,字节
skip:跳过,字节
设计模式之装饰者模式:
包装者模式
涉及到的角色:
1、抽象父类或接口
2、装饰者类(子类或实现类)
1、私有的父类对象
2、构造方法对父类对象实例化
3、重写需要扩展的方法
3、子类或实现类
该模式主要是为了扩展方法
明天:
转换流
对象流
打印流
数据流
自定义泛型
受限泛型
File:操作系统中的文件或目录
mkdir
mkdirs
createNewFile
getName
length
renameTo
delete
listFiles
I/O:数据通信的管道
1、按照流向
2、按照单位
3、按照功能
4大流的祖类,都是抽象类
InputStream
OutputStream
Reader
Writer
今日内容:
输出流,如果文件不存在,会自动创建(如果对应的目录不存在,就会报错)
输入流,如果文件不存在,就会报错
节点流:直接操作数据的流
1、文件流
2、内存流
处理流:操作流的流
一、文件流:操作文件的流:数据存储在文件中 节点流
1、FileWriter:文件输出字符流,常常用来写出字符的内容
常用方法:
write:写出,可以写出一个字符,字符数组,字符串
flush:刷新,为了及时将数据写入到文件中
2、FileReader:文件输入字符流
read:读取,读取一个字符,读取指定长度的字符
skip:跳过,跳过指定个数的字符
3、FileOutputStream:文件输出字节流
常用方法:
write:写出,写出一个字节、字节数组
flush:刷新,将缓冲区内的数据写出到文件中
4、FileInputStream:文件输入字节流
常用方法:
read:读取,读取一个字节,字节数组
skip:跳过,跳过指定个数的字节
注意:\r在控制台的作用和文件中的作用不一样
\r在控制台:光标移到到首位,然后将\r后面的字符覆盖前面的内容
\r在文件中,起到换行的作用
在windows下:\r\n起到换行的作用(通用)
练习:请写出20个随机字母,并读取
二、内存流:操作内存的流:数据存储在内存中 节点流
1、ByteArrayOutputStream:字节数组输出字节流:内存输出字节流
常用方法:
write:写出
flush:刷新
toByteArray:将内部数据源返回,byte数组
2、ByteArrayInputStream:字节数组输入字节流:内存输入字节流
常用方法:
read:读取,字节
skip:跳过
一般当一个资源不需要进行本地化保存的时候,我们会使用内存流
因为内存流效率很高
三、缓冲流:提高读写效率 过滤流
1、BufferedWriter:缓冲输出字符流
常用方法:
write:写出
flush:刷新
newLine:写入换行符
2、BufferedReader:缓冲输入字符流
常用方法:
read:读取,字符
skip:跳过,字符
readLine:读取一行,返回字符串
3、BufferedOutputStream:缓冲输出字节流
常用方法:
write:写,字节
flush:刷新
4、BufferedInputStream:缓冲输入字节流
常用方法:
read:读取,字节
skip:跳过,字节
设计模式之装饰者模式:
包装者模式
涉及到的角色:
1、抽象父类或接口
2、装饰者类(子类或实现类)
1、私有的父类对象
2、构造方法对父类对象实例化
3、重写需要扩展的方法
3、子类或实现类
该模式主要是为了扩展方法
明天:
转换流
对象流
打印流
数据流
相关文章推荐
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 【幻化万千戏红尘】qianfengDay11-java基础学习:数组,排序,算法
- 【幻化万千戏红尘】qianfengDay07-java基础学习:static、设计模式之单例模式
- 【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
- 【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket
- 【幻化万千戏红尘】qianfengDay03-java基础学习:for循环,switch,if
- 【幻化万千戏红尘】qianfengDay12-java基础学习:二维数组、异常、错误
- 【幻化万千戏红尘】qianfengDay24-java基础学习:数据库、七大表语句、JDBC反射
- 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList
- 【幻化万千戏红尘】qianfengDay20-java基础学习:数据流、随机读取文件流RandomAccessFile
- 【幻化万千戏红尘】qianfengDay02-java基础学习:运算符、进制转换
- 【幻化万千戏红尘】qianfengDay15-java基础学习:List,ArrayList,LinkedList,comparable,comparator
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法
- 【幻化万千戏红尘】qianfengDay05-java基础学习:方法、return、重载
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 【幻化万千戏红尘】qianfengDay01-java基础学习:历史、数据类型
- 【幻化万千戏红尘】qianfengDay22-java基础学习:线程安全、synchronized、死锁
- 【幻化万千戏红尘】qianfengDay17-java基础学习:泛型,路径,File类,IO流
- 【幻化万千戏红尘】qianfengDay13-java基础学习:String ,StringBuilder,StringBuffer,Date,Calendar