1.什么是IO流?
2.IO流分为几类?
3.什么是字节流?什么是字符流?
字节流:字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。
字符流:字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。
4.字节流与字符流的区别?
![](https://i-blog.csdnimg.cn/blog_migrate/7900d566df205387aca5817a6218df7d.png)
5.字符流的常用类有哪些?
在程序中一个字符等于2个字节,那么java提供了Reader、Writer两个专门操作字符流的类。
字符输出流:Writer
字符输入流:Reader
6.实现文件复制的思路和步骤是什么?
要实现文件的复制,其实质就是对源文件数据进行读取,再将这些数据写入目标文件,从而实现文件的复制。
- package com.lenovo.www.enttt;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- public class FileDemo7 {
- public static void main(String[] args) {
- int count = 0;
- FileReader reader = null;
- BufferedReader breader = null;
- BufferedWriter writer = null;
- try {
- reader = new FileReader("D:\\java demo\\JAVA.txt");
- writer = new BufferedWriter(new FileWriter("D:\\java demo\\JAVA2"));
- breader = new BufferedReader(reader);
- String temp = "";
- while((temp= breader.readLine())!=null) {
- writer.write(temp);
- writer.newLine();
- }
- writer.flush();
- System.out.println("共循环"+count+"次");
- } catch ( FileNotFoundException e) {
- e.printStackTrace();
- }catch(IOException e) {
- e.printStackTrace();
- }finally {
- try {
- breader.close();
- reader.close();
- writer.close();
- }catch(IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
7.如何使用字符流进行文件读写?
- import java.io.BufferedReader;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- public class T04 {
- public static void main(String[] args) throws Exception{
- String value = "等\n";
- String value2 = "a 等\n";
- // 向文件中写入内容
- PrintWriter pw = new PrintWriter("temp.txt","UTF-8");
- pw.write(value);
- pw.write(value2);
- pw.close();
- // 从文件中读取内容
- BufferedReader br = new BufferedReader(new InputStreamReader(
- new FileInputStream("temp.txt"),"utf-8"));
- String b;
- while((b = br.readLine())!=null){ // 按行读取
- System.out.println(b);
- }
- br.close();
- }
- }