Java基础——流
来源:互联网 发布:淘宝大学一飞老师 编辑:程序博客网 时间:2024/05/01 12:31
流,可以分为字符流和字节流两种
继承关系
字符流——写出
Writer为所有字符输出流的超类
以字符流的形式写出文件:
public void Writer{ FileWriter fw = new FileWriter("test.txt"); //通过PrintWriter的方法,可以更方便地写入 PrintWriter pw = new PrintWriter(fw); pw.print(); pw.println(); //格式化参数 pw.printf(); //参数可以是char[],string,int pw.write();}
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
不使用缓冲区,系统将读一个字符,写一个字符,使用缓冲区,系统将读入的字符存入缓冲区,等缓冲区存满之后,再写出,这样可以提高效率。
public void Writer{ FileWriter fw = new FileWriter("test.txt"); //创建一个带缓冲区的输出流 BufferedWriter bw = new BufferedWriter(fw); //通过PrintWriter的方法,可以更方便地写入 PrintWriter pw = new PrintWriter(bw); pw.print(); pw.println(); //格式化参数 pw.printf(); //参数可以是char[],string,int pw.write(); //操作完成后,一定要关闭输出流 pw.close();}
上面的代码,创建了一个带缓冲区的字符输出流,PrintWriter放在最外层,是因为它有很多很实用的方法
但是,值得注意的是,上面的代码最终还是以字节的形式写入文件,只是流的输入时字符
解释:FileWriter继承了OutputStreamWriter类,OutputStreamWriter是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。
字符流——读入
Reader为所有字符输入流的超类,
以字符流的方式读入:
pulic void Read{ FileReader fr = new FileReader("test.txt"); //创建一个带缓冲区的输入流 BufferedReader br = new BufferedReader(fr); //获取一行 String getInfo = br.readLine();}
上面的输入流的输入是字节,输出是字符,因为FileReader继承自InputStreamReader,InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
字节流
字节流的输入输出的思想跟字符流是一样的
输入:
public void Read(){ FileInputStream fis = new FileInputStream("test.txt"); //创建一个带缓冲区的输入流 BufferedInputStream bis = new BufferedInputStrame(fis); byte b = bis.read(); bis.close();}
输出:
public void Write(){ FileOutputStream fos = new FIleOutputStream("test.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos); bos.write(int i); bos.close;}
利用字节流操作大量输入输出的话需要使用循环
使用DataInputStream和DataOutputStream可以直接读写基本数据类型的数据
0 0
- Java基础——流
- Java基础——流
- Java基础—IO流
- java基础—-IO流
- java基础—IO流
- java基础—IO流
- java基础概述——java基础
- java基础——java异常基础
- Java基础—java基础语法
- Java基础功能实例——IO流基础实例
- Java基础—基本概念
- Java基础—总结
- Java基础—数组
- Java基础—标识符
- Java基础—线程
- Java基础—集合
- Java基础—GUI
- Java基础—继承
- 多线程GCD的详细讲解 任务和队列(串行队列,并发队列) (一)
- python库
- DWR Server Push(服务器推技术) 实现即时聊天功能(WEB)`
- Redis集群方案redis-twemproxy-keepalived
- 蛇形矩阵
- Java基础——流
- HTML5编码规范(编写灵活,稳定,高质量的HTML)
- UVA422
- poj 2778(AC自动机+矩阵)
- 由浅入深学习MySQL
- OpenCV典型程序结构
- 2015蓝桥杯 曼哈顿距离
- Java架构
- 一般运行时间