public static void main(String[] args) throws Exception {
FileReader fr = new FileReader("D:/java/study/1.txt");
FileWriter fw = new FileWriter("D:/java/study/2.txt");
char[] chars = new char[5];
while (true){
int r = fr.read(chars);//读 单个字符 或者字符数组
if (r == -1){
break;
} else {
fw.write(chars);
}
}
fr.close();
fw.close();
System.out.println("复制完毕");
}
2.文件输入输出流FileInputStream/FileOutputStream
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("D:/java/study/1.mp3");
FileOutputStream fos = new FileOutputStream("D:/java/study/2.mp3");
byte[] bytes = new byte[1024];
long start = System.currentTimeMillis();
while (true){
int r = fis.read(bytes);
if (r == -1){
break;
} else {
fos.write(bytes);
}
}
fis.close();
fos.close();
long end = System.currentTimeMillis();
System.out.println("复制完毕"+"\n耗时"+(end-start)+"毫秒。");
}
3.字符缓冲流BufferedWriter/BufferedReader
public static void main(String[] args) throws Exception {
FileReader fr = new FileReader("D:/java/study/1.txt");
//创建对象需要建立在节点流的基础之上 第二个参数 设置缓冲区的大小
BufferedReader br = new BufferedReader(fr,1024);
FileWriter fw = new FileWriter("D:/java/study/5.txt");
//创建对象需要建立在节点流的基础之上 第二个参数 设置缓冲区的大小
BufferedWriter bw = new BufferedWriter(fw,1024);
// while (true){
// String s = br.readLine();//读一行
// if (s == null){
// break;
// } else {
// bw.write(s);
// bw.newLine();//换行
// }
// }
while (true){
int r = br.read();
if (r == -1){
break;
} else {
bw.write(r);
}
}
br.close();//关闭流 释放资源
bw.close();//关闭流 释放资源
System.out.println("复制完毕");
}
4.文件缓冲流BufferedInputStream/BufferedOutputStream
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("D:/java/study/1.mp3");
BufferedInputStream bis = new BufferedInputStream(fis,2048);
FileOutputStream fos = new FileOutputStream("D:/java/study/嘟嘟歪嘟嘟.mp3");
BufferedOutputStream bos = new BufferedOutputStream(fos,2048);
byte[] bytes = new byte[1024];
long start = System.currentTimeMillis();
while(true){
int r = bis.read(bytes);
if (r == -1){
break;
} else {
bos.write(bytes);
}
}
bis.close();
bos.close();
long end = System.currentTimeMillis();
System.out.println("复制完毕"+"\n耗时"+(end-start)+"毫秒。");
}