2020.8.3

一、今日学习内容

  1、缓冲流

缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有以下几种: BufferedReader. BufferedWriter. BufferedInputStream和BufferedOuputStream。
     (1) BufferedReader 与BufferedWriter
        BufferedReader属于字符流,如果要想使用BufferedReader就需要将一个字节流变成字符流,为了解决这样的问题,在Java中提供了以下两个转换类。
           #将输入的字节流变为字符流: InputStreamReader.
           #将输出的字符流变为字节流: OutputStreamWriter.
        在BufferedReader类中提供了一个专门的读取操作。

public String readLine()  throws IOException

    示例:使用BufferedReader读取内容

import java.io. BufferedReader;
import java. io. FileInputStream;
import java.io. IOException;
import java.io. Inputst reamReader;
public class Buf feredReaderDemo {
    public  static void main (String[] args) throws IOException {
          read() ;
    }
    public static void read() throws IOException {
         //创建对象
       BufferedReader read = new BufferedReader (new InputstreamReader (new 
       FileInputStream ("D: /Hello. txt"))) ;
       String line= null;
       //读数据
      while ((line=read. readLine()) !=null) {
           System.out. println(line) ;
      }
      //关闭
      read.close() ;
   }
}

     示例:使用BufferedReader写数据

import java. io.BufferedWriter;
import java. io. FileOutputStream;
import java .io. IOException;
import java. io. OutputStreamwriter;
public class BufferedWriterDemo {
   public static void main(String[] args) throws IOException {
        write () ;
   }
    public static void write() throws IOException {
         //创建对象
         BufferedWriter  w= new BufferedWriter (new OutputStreamWriter (new 
         FileOutputStream("D:/Hello.txt"))) ;
         //写数据
         w.write ("Hello") ;
         w. write ("Java") ;
         //关闭
         w.close() ;
     }
}

    (2)BufferedInputStream 与BufferedOuputStream

        使用BufferedInputStream 和BufferedOutputStream 通常用来读取或写入影像数据,例如图片、影片等。
        示例:使用BufferedInputStream和BufferedOuputStream读写图片

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedInputOutput {
    public static void main(String[] args)throws IOException {
        outIn();
    }
    public static void outIn()throws IOException{
        BufferedInputStream in=new BufferedInputStream(new FileInputStream("F:/test.png"));
        BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("F:/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类

        Jdk1.5推出了Scanner 类,该类主要用来从键盘输入数据,也就是说,用户可以使用键盘进行灵活地输入,其中,Scanner 类是在java.util包中定义的。
        示例: Scanner 类的应用

import java .util. Scanner;
public class ScannerDemo {
   public static void main(String[] args) {
       Scanner con = new Scanner (System.in) ;
       //从键盘读入字符串
       String line = con.nextLine() ;
       /从键盘读入整型
      int i=con.nextInt() ;
       //从键盘读入浮点型
       double d =con.nextDouble() ;
       System. out.println(line) ;
       System.out.println(i) ;
       System. out. println(d) ;
       //关闭
       con.close() ;
   }
}

 二、遇到的问题

   掌握不熟练,不太会用到题目中。

三、明日计划 

   继续学习第12章

原文地址:https://www.cnblogs.com/wmdww/p/13426518.html