字节与字符的区别:
区别:
字节是存储容量的基本单位,1字节=8个二进制位。
字符是指字母、数字、汉字和各种符号。
联系:
一个字符在计算机中用若干个字节的二进制数表示,英文字符1个字节,中文字符2个字节。
处理字节流的抽象类:
InputStream :
是字节输入流的所有类的超类,子类,如FileInputStream。
read():读取单个字节。
OutputStream:
是字节输出流的所有类的超类,子类,如FileOutputStream。
write(byte[] b) :将 b.length 个字节从指定的 byte 数组写入此输出流。
处理字符流的类:
InputStreamReader:
是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
InputStreamReader封裝了InputStream,read():读取单个字符。
OutputStreamWriter :
是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。
write(int c):写入单个字符。
缓冲字符类:
BufferedReader:
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。
BufferedReader封裝了InputStreamReader类,readLine():一次读取取一行的字符。
BufferedWriter:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
newLine() :写入一个行分隔符。
缓冲 PrintWriter 对文件的输出。如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字
节,然后立即写入到文件,而这是极其低效的。