Java IO有两种流的方式,分别是字节流和字符流。下面针对这两种方式分别举一个例子来实现文件的复制。
1.字节流
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Inpt{
public static void main(String args[]) throws IOException{
File file=new File("C:/Users/Administrator/Desktop/a.txt");
FileInputStream inputStream=new FileInputStream(file);
File file1=new File("C:/Users/Administrator/Desktop/b.txt");
FileOutputStream outputStream=new FileOutputStream(file1);
try {
byte b[]=new byte[inputStream.available()];
inputStream.read(b);
outputStream.write(b);
} catch (IOException e) {
e.printStackTrace();
}
finally{
inputStream.close();
outputStream.close();
}
}
}
2.字符流
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
public class Inpt{
public static void main(String args[]) throws IOException{
File file=new File("C:/Users/Administrator/Desktop/a.txt");
File file1=new File("C:/Users/Administrator/Desktop/b.txt");
FileReader fileReader=new FileReader(file);
FileWriter fileWriter=new FileWriter(file1);
try{
BufferedReader buReader=new BufferedReader(fileReader);
BufferedWriter buWriter=new BufferedWriter(fileWriter);
String s;
while((s=buReader.readLine())!=null){
buWriter.write(s);
}
buWriter.flush();
buReader.close();
buWriter.close();
}catch(IOException e){
e.printStackTrace();
}
finally{
fileReader.close();
fileWriter.close();
}
}
}
上面两种方式都是最简单的文件复制的方式,总的来说就是创建一个读取文件的流,然后读取文件信息,创建一个写入文件的流,写入相应文件。