public class TestIO {
public static void main(String[] args) throws IOException {
copyFile(“d:/testFile/kenan.jpg”, “d:/testFile/kenan2.jpg”);
}
private static void copyFile2(String srcPath, String destPath) {
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(srcPath);
fileOutputStream = new FileOutputStream(destPath);
byte[] buffer = new byte[1024];
int len = -1;
while ((len = fileInputStream.read(buffer)) != -1){
fileOutputStream.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//这里再加上两个if判断是因为在开始实例化时如果传进来的srcPath destPath路径文件不存在
//那么就会触发FileNotFoundException异常 那么说明fileInputStream和fileOutputStream
//尚未构造成功还是null,接下来在用close方法就会触发空指针异常
//所以要在使用close方法之前判断一下fileInputStream和fileOutputStream是否为null
if (fileInputStream != null) {
fileInputStream.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}