黑马程序员技术交流社区
标题: IO流中的重要方法,请牢记 [打印本页]
作者: ls61532529 时间: 2014-12-4 20:01
标题: IO流中的重要方法,请牢记
:IO流
(1)分类
字节流:
输入流:
InputStream(抽象类)
intread()
intread(byte[] bys)
FileInputStream(常用基本流)
BufferedInputStream
输出流:
OutputStream(抽象类)
write(intby)
write(byte[]bys,int index,int len)
FileOutputStream(常用基本流)
BufferedOutputStream
字符流:
输入流:
Reader(抽象类)
intread()
intread(char[] chs)
FileReader(常用基本流)
BufferedReader
String readLine()
输出流:
Writer(抽象类)
write(intch)
write(char[]chs,int index,int len)
FileWriter(常用基本流)
BufferedWriter
write(String line)
void newLine()
(2)到底使用谁?
用记事本打开能读懂的,就用字符流。
否则,用字节流。
如果你根本就不知道,用字节流。
(3)复制文本文件(了解):
9种方式:
字节流:
4种
基本流一次读写一个字节
基本流一次读写一个字节数组
高效流一次读写一个字节
高效流一次读写一个字节数组
字符流:
5种
基本流一次读写一个字符
基本流一次读写一个字符数组
高效流一次读写一个字符
高效流一次读写一个字符数组
高效流一次读写一个字符串
一般来说,明明知道是文本文件,那么,肯定不用字节流。
那么,如果是使用字符流,有5种方式,选择哪一种呢?
一般都选择高效流读写一个字符串的方式。
代码体现:
数据源:c:\\a.txt
目的地:d:\\b.txt
BufferedReader br = new BufferedReader(newFileReader("c:\\a.txt"));
BufferedWriter bw = new BufferedWriter(newFileWriter("d:\\b.txt"));
String line = null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
(4)复制二进制流数据:(图片,视频,音频等)
字节流:
4种
基本流一次读写一个字节
基本流一次读写一个字节数组
高效流一次读写一个字节
高效流一次读写一个字节数组
一般来说,我们选择使用高效流一次读写一个字节数组
代码体现:
数据源:c:\\a.jpg
目的地:d:\\b.jpg
BufferedInputStream bis = new BufferedInputStream(newFileInputStream("c:\\a.jpg"));
BufferedOutputStream bos = newBufferedOutputStream(new FileOutputStream("d:\\b.jpg"));
byte[] bys = new byte[1024];
int len = 0;
while((len=bis.read(bys))!=-1)
{
bos.write(bys,0,len);
}
bos.close();
bis.close();
作者: 大大的心 时间: 2014-12-4 20:21
楼主辛苦了
作者: 雪落纷飞 时间: 2014-12-4 23:50
自己动手丰衣足食
作者: 安卓小蜗牛 时间: 2014-12-5 00:03
今天刚看完了!呵呵
作者: suishoujinian 时间: 2016-5-24 00:24
谢谢楼主
作者: 徘徊的灵魂 时间: 2016-9-15 13:30
可以,前面的集合学习的还是可以的,但是到了io流就有点懵逼了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |