public synchronized static boolean copyFile(File src, File dest, boolean isDelSrc){
		if(src == null || dest == null) return false;
		InputStream in = null;
		OutputStream out =  null;
		try {
			in = new BufferedInputStream(new FileInputStream(src), BUFFER_SIZE);
			out = new BufferedOutputStream(new FileOutputStream(dest), BUFFER_SIZE);
		
			byte[] buffer = new byte[BUFFER_SIZE];
			int len = 0;
			while((len = in.read(buffer, 0, buffer.length)) > 0){
				out.write(buffer, 0, len);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}finally{
			try {
				if(in != null) in.close();
				if(out != null) out.close();
				if(isDelSrc) src.delete();
			} catch (IOException e) {
				e.printStackTrace();
				return false;
			}
		}
		return true;
	}