1.输入流读取有几种方式,输出流写出有几种方式?
(1)输入流分为字节输入流,字符输入流
字节输入流的读取方式有两种
一次读取一个字节 read(int b)
一次读取一个字节数组 read(int[] b)
字符输入流的读取方式有两种
一次读取一个字符 read(int ch)
一次读取一个字符数组 read(char[] ch)
(2)输出流分为字节输出流和字符输出流
字节输出流的输出方式分为两种
一次写一个字节 write(int b)
一次写一个字节数组的一部分 write(byte[] b,int off, int len)
字符输出流的输出方式有五种
一次写一个字符 write(int a)
一次写一个字符数组 write(char[] ch)
一次写一个字符数组的一部分 write(char[] ch,int off,int len)
一次写一个字符串 write(string s)
一次写一个字符串的一部分 write(string s, int off,int len)
2.字符流和字节流的区别?
字符流可以对文本文档进行显示阅读,但是不能对非文本文件进行复制
字节流复制文件的时候(可以是文本 音频 视频)使用字节流,所有的数据形式都可以用字节流进行传输,但是要对文本信息进行显示输出的时候不能使用字节,一读一写会出现乱码
3.缓冲流为什么会提高IO流读写的效率?
缓冲流会在内存中生成默认大小的数组缓冲区,读取的数据存满缓冲区后才会将全部数据输出,这个过程减少了内存和硬盘的交互次数,大大提高了数据的传输效率 |