一、今日学习
1.缓冲流
缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有:BufferedReader、BufferedWriter、BufferedInputStream和BufferedOutputStream。
(1)BufferedReader与BufferedWriter
BufferedReade输入字符流,如果要想使用BufferedReade就需要将一个字节流变成字符流,所有,Java提供了以下两个转换类:
-
将输入的字节流变为字符流:InputStreamReader
-
将输出的字符流变为字节流:OutputStreamWriter
在BufferedReader类中提供了专门的读取操作
public String readLine() throws IOException
示例:使用BufferedReader读取内容
示例:使用BufferedWriter写数据
(2)BufferedInputStream和BufferedOutputStream
使用BufferedInputStream和BufferedOutputStream通常用来读取或写入影像数据,例如图片、影片等。
示例:使用BufferedInputStream和BufferedOutputStream读写图片
package helloworld; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Demo { public static void main(String[] args) throws IOException{ outIn(); } public static void outIn() throws IOException{ BufferedInputStream in=new BufferedInputStream(new FileInputStream("D:\\test.png")); BufferedOutputStream out=new BufferedOutputStream( new FileOutputStream("D:\\test2.png")); byte[] buf=new byte[1024]; int len=-1; while((len=in.read(buf))!=-1) { out.write(buf,0,len); } out.close(); in.close(); } }
2.Scanner类
(1)该类主要用来从键盘输入数据,即用户可以使用键盘进行灵活地输入。其中,Scanner类是在java.util包中定义的。
(2)示例:Scanner类的应用
二、遇到问题
三、明日学习
对象序列化与反序列化、打印流、RandomAccessFile随机访问文件