由于是字节流,那就不能操作非文本文件比如图像音频等,因为他们要用字节流进行操作;
文件复制(字节流)的几种方式
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file = new File("D:\\a\\b1.txt");
FileReader fr= new FileReader(file);
FileWriter fw= new FileWriter("D:\\复制文档.docx");
int read = fr.read();
while(read!=-1){
fw.write(read);
read=fr.read();
}
fw.close();
fr.close();
}
}
利用缓冲数组方式(两种)
方式一:
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file = new File("D:\\a\\b1.txt");
FileReader fr= new FileReader(file);
FileWriter fw= new FileWriter("D:\\复制文档.docx");
char c[] = new char[10];
int read = fr.read(c);
while(read!=-1){
fw.write(c,0,read);//写入实际读取的有效长度
read=fr.read(c);
}
fw.close();
fr.close();
}
}
方式二:
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file = new File("D:\\a\\b1.txt");
FileReader fr= new FileReader(file);
FileWriter fw= new FileWriter("D:\\复制文档.docx");
char c[] = new char[10];
int read = fr.read(c);
while(read!=-1){
fw.write(new String (c,0,read));//将读取的转换为字符串在进行写入
read=fr.read(c);
}
fw.close();
fr.close();
}
}