1.什么是IO流?
IO流是以流的方式进行输入输出。
2.IO流分为几类?
IO流分为字节流,字符流,转换流,缓冲流,打印流,对象输出流。
字节流包含:InputStream和OutputStream
字符流包含:Reader和Writer
3.什么是字节流?什么是字符流?
字符流是由字符组成的,Java里字符是由两个字节构成,所有的Writer和Reader的子类都是字符流,主要用在处理文本内容或特定字符。
字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节来处理的。
4.字节流和字符流的区别?
【1】读写的时候一个是按字节读写,一个是按字符。
【2】需要对内容按行处理,一般会选择字符流。
【3】只是读写文件,和文件内容无关的(下载,复制等),一般选择字节流。
5.字符流的常用类有哪些?
Reader----BufferedReader,InputStreamReader,FileReader
Writer-----BufferedWriter,OutputStreamWriter,FileWriter
6.实现文件复制的思路和复制是什么?
package www.lenovo.demo; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test03 { public static void main(String[] args) { FileInputStream input = null; FileOutputStream output = null; int n = 0; try { input = new FileInputStream("D:\\bbb\\zx.txt"); output = new FileOutputStream("D:\\bbb\\zx.txt"); do { n = input.read(); output.write(n); } while (n!=-1); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }finally { try { input.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } } } }
7.如何使用字符流进行文件读写?
package www.lenovo.demo; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Test06 { public static void main(String[] args) { BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter("E:\\zxcv.txt")); writer.newLine(); writer.write("Hello"); writer.newLine(); writer.write("中国"); writer.flush();//冲刷缓冲区 } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } }
文章来源: IO流