IO总结(三)
来源:互联网 发布:名片设计软件免费版 编辑:程序博客网 时间:2024/06/04 07:33
处理流
缓冲流
1)缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。
2)J2SDK提供了四种缓冲流,其常用构造方法为:
BufferedReader(Reader in)
BufferedReader(Reader in ,int sz) //sz 为自定义缓冲区大小
BufferedWriter(Writer out)
BufferedWriter(Writer out,int sz)
BufferedInputStream(InputStream in)
BufferedInputStream(InputStream in ,int size)
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out,int size)
a)缓冲输入流支持其父类的mark和reset方法
b)BufferedReader提供了ReadLine方法用于读取一行字符串
c)BufferedWriter提供了newLine用于写入一个行分隔符
d)对于输出的缓冲流,写出的数据会现在内存中缓存,使用flush方法将会使内存中的数据立刻写出。
例子1:
import java.io.*;public class TestBufferStream {public static void main(String[] args){try{FileInputStream fs = new FileInputStream("F:\\eclipse workspace\\Test\\src\\Test01.java");BufferedInputStream bis = new BufferedInputStream(fs);int c = 0;System.out.println((char)bis.read());System.out.println((char)bis.read());bis.mark(100);for(int i = 0;i<=10 &&(c=bis.read()) != -1;i++){System.out.print((char)c+" ");}System.out.println();bis.reset();for(int i = 0;i<=10 &&(c=bis.read()) != -1;i++){System.out.print((char)c+" ");}bis.close();}catch(FileNotFoundException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}}}
输出结果:
i
m
p o r t j a v a . i
p o r t j a v a . i
例子2:
import java.io.*;public class TestBufferedStream2 {public static void main(String[] args){try {BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\ccc.txt"));BufferedReader br = new BufferedReader(new FileReader("F:\\ccc.txt"));String s = null;for(int i = 1;i<=100;i++){s = String.valueOf(Math.random());bw.write(s);bw.newLine();}bw.flush();while((s = br.readLine()) != null){System.out.println(s);}bw.close();br.close();} catch (IOException e) {e.printStackTrace();}}}
说明:
文件ccc.txt的内容被读到程序总给“String s”分配的内存中了
(while((s = br.readLine()) != null))
- IO总结(三)
- IO流总结(三)
- IO/NIO学习总结(三)
- 黑马程序员------IO操作总结(三)
- java中的IO操作总结(三)
- java中的IO操作总结(三)
- 小石头课堂(三)IO流总结
- Java IO知识点总结三(字符流)
- Java IO(三)
- IO流(三)
- IO(三)
- IO流(三)
- 黑马程序员-----IO流总结笔记三
- IO总结(一)
- IO总结(二)
- IO总结(四)
- IO总结(五)
- IO总结(六)
- 一个高手总结的单片机设计与KeilC编程总结 (转载)
- 推荐两本有关经济学的书籍
- osx10.9 xcode5升级后的老代码环境变通
- c++ 内存管理:5、指针参数是如何传递内存的
- 期待并实现我的大学生活
- IO总结(三)
- 归并分组
- CI(1) controller
- SVD分解在特征降维的应用
- UART与USART的区别
- uva 10943 - How do you add?(dp)
- UML--9种图对比
- c++ 内存管理:6、杜绝“野指针”
- 群聊程序的linux代码实现