public static void copy(String scrPath,String destPath){
File scr = new File(scrPath);
File dest = new File(destPath);
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(scr);
os = new FileOutputStream(dest);
//为了提高效率,设置缓存数组!(读取的字节数据会暂存放到该字节数组中)
byte[] flush = new byte[1024];
int len = 0;
//边读边写
//len指的是本次读取的真实长度,len等于-1时表示读取结束
while((len=is.read(flush))!=-1){
/*将缓存数组中的数据写入文件中,注意:写入的是读取的真实长度;
*如果使用fos.write(buffer)方法,那么写入的长度将会是1024,即缓存
*数组的长度*/
os.write(flush, 0, len);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
//两个流需要分别单独关闭 先开后关
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
if(is!=null){
is.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
关注公众号,可以获取各种免费软件、资料,笔记哦。