黑马程序员_IO流(一)
来源:互联网 发布:js自动切换图片 编辑:程序博客网 时间:2024/05/29 03:55
------- android培训、java培训、期待与您交流! ----------
IO流第一部分
1.IO流(掌握)
(1)IO的分类
A:数据流向
输入流
输出流
B:数据类型
字节流
字节输入流
字节输出流
字符流
字符输入流
字符输出流
如果数据能够用记事本打开并能读懂就用字符流。否则就用字节流。
(2)IO流分类的基类
A:字节流
输入流:
InputStream
FileInputStream
BufferedInptuStream
输出流:
OutputStream
FileOutputStream
BufferedOutputStream
B:字符流
输入流:
Reader
FileReader
BufferedReader
输出流:
Writer
FileWriter
BufferedWriter
注意:每种类型的流对象都是以该类型的基类名做后缀名。
(3)字符输出流FileWriter的使用
使用步骤:
创建字符输出流对象
调用对象的写入功能
释放资源
代码体现:
FileWriter fw = new FileWriter("fw.txt"); fw.write("hello,io"); fw.flush(); fw.close();
问题?请思考。
A:创建字符输出流对象做了哪些事情?
字符输出流操作步骤:
A:创建字符输出流对象
B:通过调用字符输出流对象写入数据
C:释放资源
B:为什么字符输出流对象没有无参构造?
你将来肯定要把数据存储到某个地方,你得指定目的地。
C:数据写入后,为什么需要刷新?
D:数据写入完毕后,为什么要释放资源?
E:释放资源和刷新缓冲区的区别?
flush():刷新缓冲区,流对象还可以继续被使用。
close():刷新缓冲区,并释放资源。流对象不可以在继续被使用。
F:如何实现数据的追加写入?
G:如何实现数据的换行写入?
(3)字符输入流FileReader的使用
使用步骤:
创建字符输入流对象
调用对象的读取功能
释放资源
代码体现:
FileReader fr = new FileReader("fw.txt"); //方式1 int ch = 0; while((ch=fr.read())!=-1) { System.out.print((char)ch); } //方式2 char[] chs = new char[1024]; int len = 0; while((len=fr.read(chs))!=-1) { System.out.print(new String(chs,0,len)); } fr.close();
(4)复制文本文件(自己补齐)
需求:把项目路径下的a.txt复制到项目路径下b.txt
数据源:
目的地:
方式1:一次读写一个字符
代码体现:
方式2:一次读写一个字符数组
代码体现:
(5)高效流的使用
高效输入流:
具备基本流的输入功能
String readLine():一次读取一行数据。只返回数据,不返回换行符。
高效输出流:
具备基本流的输出功能
void newLine():根据系统不同写入一个换行符。
(3)高效流复制文件
需求:把项目路径下的a.txt复制到项目路径下b.txt
数据源:
目的地:
A:一次读写一个字符
代码体现:
B:一次读写一个字符数组
代码体现:
C:一次读写一个字符串
代码体现:
BufferedReader br = new BufferedReader(new Filereader("a.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt")); String line = null; while((line=br.readLine())!=null) { bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close();
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流学习心得(一)
- 黑马程序员_IO流(一)
- 黑马程序员_IO流一
- 黑马程序员_IO流(一)
- 黑马程序员_IO(一)
- 黑马程序员_JAVA基础_IO流(一)
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 《论幸运》培根
- 计算机入门与编程方法
- poj1062
- 数据结构之 队列的操作与实现
- 主机与虚拟机ping不通
- 黑马程序员_IO流(一)
- 矩阵的本质-运动的描述【好】
- Future和FutureTask
- 关于多线程渲染
- C++经典问题:狐狸找兔子
- 水题 hdu1002------用BigInteger解决大数问题
- Linux服务器集群系统(一)
- hadoop源码
- C++实验二 类与对象 (附答案)