1.使用FileInputStream
package cn.itcast.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyDemo1 {
public static void main(String[] args) throws Exception {
//封装数据源
InputStream in=new FileInputStream("a.txt");
//目的地
OutputStream out=new FileOutputStream("b.txt");
//复制数据
byte by[]=new byte[1024];
int len=0;
while((len=in.read(by))!=-1){
out.write(by,0,len);
}
//释放资源
out.close();
in.close();
}
}
2.使用转化流InputStreamReader
package cn.itcast.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class CopyDemo2 {
public static void main(String[] args) throws IOException {
//数据源
InputStreamReader in=new InputStreamReader(new FileInputStream("a.txt"));
OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream("b.txt"));
//这是字符流了相当于因此使用char数组
char ch[]=new char[1024];
int len=0;
while((len=in.read(ch))!=-1){
out.write(ch, 0, len);
}
out.close();
in.close();
}
}
3.使用缓冲流BufferedReader读取一个字符数组
package cn.itcast.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
public class CopyDemo3 {
public static void main(String[] args) throws Exception {
BufferedReader in=new BufferedReader(new FileReader("a.txt"));
BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));
char ch[]=new char[1024];
int len=0;
while(( len=in.read(ch))!=-1){
out.write(ch, 0, len);
}
out.close();
in.close();
}
}
4.使用BufferedReader读取一行
package cn.itcast.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
public class CopyDemo4 {
public static void main(String[] args) throws Exception {
BufferedReader in=new BufferedReader(new FileReader("a.txt"));
BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));
String line=null;
while((line=in.readLine())!=null){
out.write(line);
out.newLine();
out.flush();
}
out.close();
in.close();
}
}