第一题: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();
}
转载于:https://blog.51cto.com/senlinmin/1784172