第一题:BufferedReader和BufferedWriter区别?
BufferedReader:缓冲字符输入流,把从文件读取的字符缓冲到内存中。
BufferedWriter:缓冲字节输出流,把缓冲到内存的字符写入到文件中。
读缓冲区的效率远大于读文件的效率,但是低于1024k的文件没有必要缓冲,一次性读完就可以。

第二题:HashSet与HashMap的内部实现?
HashSet:实现Set接口,Set接口继承Collection接口。HashSet的构造函数实例化HashMap,即HashSet的内部是通过HashMap实现的。
HashMap:实现Map接口,Map接口和Collection接口是同级的。

第三题:Charset类操作:isSupported()方法是什么?当前平台支持哪些字符集?当前平台默认字符集?
package com.jiangmin.collection;
import java.nio.charset.Charset;
public class CharsetDemo{
    public static void main(String[] args) {
        boolean bool = Charset.isSupported("UTF-8");//获取当前平台是否支持当前字符集
        System.out.println(bool);
        for(String key:Charset.availableCharsets().keySet()){
            System.out.println(key);
        }
        System.out.println(Charset.defaultCharset());
    }
}

第四题:FileReader的getEncoding()的用法?
public static void FileEncode() throws Exception{
    FileReader fr = new FileReader("E:/index.txt");
    System.out.println(fr.getEncoding());
}

第五题:FileInputStream + FileOutputStream / BufferedInputStream + BufferedOuputStream实现复制文件?
public static void byterw() throws Exception{
    FileInputStream fi = new FileInputStream("d:/byte.txt");
    FileOutputStream fo = new FileOutputStream("d:/bytew.txt");
    while((len = fi.read()) != -1){
        fo.write((char)len);
    }
    fo.close();
    fi.close();
}
public static void bufbyterw() throws Exception{
    BufferedInputStream bi = new BufferedInputStream(new FileInputStream("d:/bufbyte.txt"));
    BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream("d:/bufbytew.txt"));
    byte[] buf = new byte[1024];
    int len;
    while((len = bi.read(buf)) != -1){
        bo.write(buf,0,len);
    }
    bo.close();
    bi.close();
}