Java IO流详解
IO概述
Java IO是Java中进行输入输出操作的基础包,包括字节流和字符流两大类。
分类
字节流
- InputStream:输入字节流
- OutputStream:输出字节流
字符流
- Reader:输入字符流
- Writer:输出字符流
常用类
字节流
1 2 3 4 5 6 7
| FileInputStream fis = new FileInputStream("file.txt"); FileOutputStream fos = new FileOutputStream("file.txt");
BufferedInputStream bis = new BufferedInputStream(fis); BufferedOutputStream bos = new BufferedOutputStream(fos);
|
字符流
1 2 3 4 5 6 7
| FileReader fr = new FileReader("file.txt"); FileWriter fw = new FileWriter("file.txt");
BufferedReader br = new BufferedReader(fr); BufferedWriter bw = new BufferedWriter(fw);
|
转换流
1 2
| InputStreamReader isr = new InputStreamReader(System.in); OutputStreamWriter osw = new OutputStreamWriter(System.out);
|
装饰器模式
1 2 3 4 5 6
| DataInputStream dis = new DataInputStream( new BufferedInputStream( new FileInputStream("file.txt") ) );
|
NIO
1 2 3
| Path path = Paths.get("file.txt"); byte[] data = Files.readAllBytes(path); Files.write(path, data);
|
总结
Java IO体系庞大,核心是装饰器模式。实际开发中优先使用缓冲流和NIO提高性能。