1. 什么是IO流
2.IO流分为几类?
答:分类:按操作数据分为:字节流和字符流。 如:Reader和InpurStream
按流向分:输入流和输出流。如:InputStream和OutputStream
3.什么是字节流?什么是字符流?
答:①字节流是由字节组成的,字节流是最基本的,所有的inputStream和outputStream的字节流,主要用在处理二进制数据,它是按字节来处理的。
②字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和Writer子类都是字符流,主要用在处理文本内容或特定字符。
4.字节流和字符流的区别?
答:①读写的时候一个是按字节读写,一个是按字符。②需要对内容按行处理,一般会选择字符流。③只是读写文件,和文件内容无关的(下载 、复制等),一般选择字节流。
5.字符流的常用类有哪些?
|--------BuffedReader
|----------Reader------
| |--------inputStreamReaderFileReader
答:字符流------| |--------BufferedWriter
|----------Writer------
|--------OutStreamWriterFileWriter
6.实现文件复制的思路和步骤是什么?
答:①首先创建字节输入流对象,然后创建字节输出流对象,一次读写一个字节,一次读写一个字节数组,最后退出。
②实例代码:
package com.jx.www.day;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Text {
public static void main(String[] args) {
FileInputStream input = null;
FileOutputStream output = null;
int n = 0;
try {
input = new FileInputStream("D:\\lenovo1.txt");
output = new FileOutputStream("D:\\lenovo.txt");
do {
n = input.read();
output.write(n);
} while (n !=-1);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
input.close();
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
7.如何使用字符流进行文件读写?
答:代码:
package com.jx.www.day;
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 Text5 {
public static void main(String[] args) {
FileReader reader = null;
BufferedReader breader = null;
BufferedWriter writer = null;
try {
reader = new FileReader("D:\\lenovo1.txt");
writer = new BufferedWriter(new FileWriter("D:\\lenovo.txt",true));
breader = new BufferedReader(reader);
String temp = "";
while ((temp = breader.readLine())!=null){
writer.write(temp);
writer.newLine();
}
writer.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
breader.close();
writer.close();
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}