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(); } }} }