1.什么是IO流?
2.IO流分为几类?
3.什么是字节流?什么是字符流?
字节流:字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。
字符流:字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。
4.字节流与字符流的区别?
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();
}
}