字符流 比 字节流 效率高?

java老师说操作文件的时候,如果文件是文本的就用 字符流,因为 字符流 操作文本效率高。 可是 字符流 也是基于 字节流 实现的呀! 我也做过试验,copy一个文本文件,结果是字节流的速度快.... 而且 字节流 读取速度快慢取决于每次读取的字节数组大小,这样说来 字符流 完全没优势呀!
小弟java新手,问题可能有点浅薄,忘各路大虾百忙中解答下下,谢谢。

package io;
import java.io.FileInputStream;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.util.Calendar;
public class io4 {
public static void main(String[] args) throws IOException {
Calendar start,end;
start=Calendar.getInstance();
FileInputStream fis = new FileInputStream("c:\a.java");
char ch;
int j = fis.available();
for (int i = 0; i < j; i++) {
ch = (char) fis.read();
}
fis.close();
end=Calendar.getInstance();
System.out.println(end.getTimeInMillis()-start.getTimeInMillis());
start=Calendar.getInstance();
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream("c:\a.java"));
char ch2;
int j2 = bis.available();
for (int i = 0; i < j2; i++) {
ch2 = (char) bis.read();
}
bis.close();
end=Calendar.getInstance();
System.out.println(end.getTimeInMillis()-start.getTimeInMillis());
}
}

用这个测试一下

一般来说文本文件是字符流较快,字节流适合用于非文本文件

所有流的地层都是字节实现的,但是对于字符的文本信息,那肯定是字符流,快些,因为加入还是字节读取的话,中间还的用InputSteamReader或者OutputStreamWriter转换

才疏学浅,尝试用字节流、字符流等多种方式拷贝一份11M的武动乾坤.txt文件,多次测试结果如下,字符流速度是怎么了?理论上不是比字节流更快吗?
FileUtils类Copy用时:29ms
FileUtils复制成功!
字符流读写用时:179ms
字符流复制成功!
缓冲区字符流用时:159ms
缓冲区复制完成
字节流读写用时:40ms
字节流复制成功!
二进制字节流读写用时:52ms
二进制字节流复制成功!