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

这个能完成所有文件的复制

你可能感兴趣的:(文件复制,图片复制)