有点小失误,复制出的文件可以几十个G
返回值是-1,是0时就无限循环
明天改,代码还是要多打,看没有用
package homework;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import IOStream.filecopy;
/*
* 1.实现 文件的复制和文件夹的复制 如果指定的位置有相同的文件 提供覆盖功能
2.统计指定的文件中的 数字 字母 标点 分别一共有多少个 使用StreamTokenizer
*/
public class c4_1
{
public static void main(String args[]) throws Exception {
File file=new File("H:/学习文件/大三上复习/期末/java/JAVA程序设计实验/实验十一流及文件.doc");
// reader 有点问题 用字节流
// BufferedReader br=new BufferedReader(new FileReader(file));
// BufferedWriter bw=new BufferedWriter(new FileWriter("i:/abc.doc"));
// char[] a=new char[1024];
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("i:/abc.doc"));
int hasread=0;
byte[] a=new byte[1024*4];
// if(file.isDirectory()!){
while((hasread=bis.read(a))!=-1){//是-1 ,0时无限循环
bos.write(a);
bos.flush();
}
// }
// else file.
bos.close();
}
}