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();
}
}
}
}