java复制文件,复制图片不能打开解决。
/**
* 复制文件
* @param source 源文件
* @param destination 目标文件
*/
public static void copyFile(File source, File destination) {
FileInputStream sourceFile = null;
FileOutputStream destinationFile = null;
try {
destination.createNewFile();
sourceFile = new FileInputStream(source);
destinationFile = new FileOutputStream(destination);
BufferedReader br = new BufferedReader(new FileReader(source));
//ByteArrayInputStream bin=new ByteArrayInputStream(br.r)
BufferedWriter bw = new BufferedWriter(new FileWriter(destination));
String str = null;
while ((str = br.readLine()) != null) {
bw.write(str);
bw.newLine();
bw.flush();
}
} catch (FileNotFoundException f) {
} catch (IOException e) {
} finally {
try {
sourceFile.close();
} catch (Exception e) {
}
try {
destinationFile.close();
} catch (Exception e) {
}
}
}
以上复制文本文件没有问题,但是复制图片就不行。
public static void copyImage(File source, File destination ){
FileInputStream fi = null;
try {
fi = new FileInputStream(source);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedInputStream in=new BufferedInputStream(fi);
FileOutputStream fo = null;
try {
fo = new FileOutputStream(destination);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedOutputStream out=new BufferedOutputStream(fo);
byte[] buf=new byte[1024];
int len;
try {
len = in.read(buf);
while(len!=-1){
out.write(buf, 0, len);
len=in.read(buf);
}
out.close();
fo.close();
in.close();
fi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这个能完成所有文件的复制