//文件拷贝,以程序为中转站,从一个文件到另一个文件 可处理图片和文本 思路: type[] flush = new type[1024] 在 .read(flush) ,时已将将内容存储到字节数组,只需再进行写出即可 os.write(flush,0,len)然后刷新缓存,os.flush()
public class test{
private String path;
private String path2;
private int len;
private File first;
private File last;
private InputStream is;
private OutputStream os;
public static void main(String[]args)
{
test t=new test("C:/Users/10853/eclipse-workspace/hell/src/hell/abc","D:/d/last");
t.copy();
}
public test(String s,String s2)
{
this.path=s;
this.path2=s2;
first=new File(this.path);
last=new File(this.path2);
try{
is=new FileInputStream(first);
os=new FileOutputStream(last);
}catch(FileNotFoundException e)
{
e.printStackTrace();
}
}
public void copy()
{
//分段读取
**byte[] flush =new byte[1024];**
**try {**
**while((len=is.read(flush))!=-1)**
** {**
**os.write(flush,0,len); **
**os.flush();** //写出后要刷新
**}***
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(os!=null)
{
os.close();
}
if(is!=null)
{
is.close();
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}
}