Java入门——day27

一、今日学习

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随机访问文件

原文地址:https://www.cnblogs.com/znjy/p/13417192.html