黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

文件工具類

張軍 3240 0

文件的各種操作工具類

張軍博客

package zj.io.util;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.Reader;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;

import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;

import org.apache.commons.io.FileExistsException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import org.apache.commons.io.output.StringBuilderWriter;
import org.apache.log4j.Logger;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import zj.check.util.CheckUtil;
import zj.common.KV;
import zj.common.VVV;
import zj.common.exception.ServiceException;
import zj.date.util.DateUtil;
import zj.io.model.ICopyFilesCallBack;
import zj.io.model.IJarCallBackRead;
import zj.io.model.IJarCallBackWrite;
import zj.io.model.JarCallBackRead;
import zj.io.model.JarClass;
import zj.io.model.JarParams;
import zj.io.service.FileFilterI;
import zj.io.service.IReadFilesCall;
import zj.io.service.ReadLinesBatchCallI;
import zj.io.service.ReadLinesCallI;

/**
 * 類名 :FileUtil<br>
 * 概況 :文件工具類<br>
 * OutputStreamWriter/Reader->charsetName 一般情況下是:先打開的后關閉,后打開的先關閉
 * 
 * @version 1.00 (2011.12.02)
 * @author SHNKCS 張軍 {@link <a target=_blank href=http://www.dlhighland.cn>張軍個人網站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href=http://user.qzone.qq.com/360901061/>張軍QQ空間</a>}
 */
public class FileUtil implements Serializable {
	private static final long serialVersionUID = 1L;
	/** 寫文件換行標識 **/
	// System.getProperty("line.separator").equals(FileUtil.LINE_SEPARATOR)->true
	public static String LINE_SEPARATOR;// = System.getProperty("line.separator");
	/** 文件分割符:/,\\ **/
	public static final String SEPARATOR = File.separator;
	private transient static final Logger logger = Logger.getLogger(FileUtil.class);
	public static final int BUFSIZE = 8192;
	static {
		// avoid security issues
		StringBuilderWriter buf = new StringBuilderWriter(4);
		PrintWriter out = new PrintWriter(buf);
		out.println();
		LINE_SEPARATOR = buf.toString();
		out.close();
	}

	/**
	 * 追加文件內容
	 * 
	 * @param file
	 *            文件
	 * @param content
	 *            內容
	 */
	public final static void appendContentByFileWriter(File file, String content) {
		FileWriter fw = null;
		PrintWriter pw = null;
		try {
			fileMkdir(file);
			// 如果文件存在,則追加內容;如果文件不存在,則創建文件
			fw = new FileWriter(file, true);
			pw = new PrintWriter(fw);
			pw.println(content);
			pw.flush();
			fw.flush();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				pw.close();
				fw.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 追加文件內容
	 * 
	 * @param file
	 *            文件
	 * @param content
	 *            內容
	 */
	public final static void appendContentByBufferedWriter(File file, String content) {
		BufferedWriter out = null;
		try {
			out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));
			out.write(content + FileUtil.LINE_SEPARATOR);
			out.flush();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				out.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 追加文件內容
	 * 
	 * @param file
	 *            文件
	 * @param content
	 *            內容
	 */
	public final static void appendContentByRandomAccessFile(File file, String content) {
		RandomAccessFile raf = null;
		try {
			// 打開一個隨機訪問文件流,按讀寫方式
			raf = new RandomAccessFile(file.getAbsolutePath(), "rw");
			// 文件長度,字節數
			long fileLength = raf.length();
			// 將寫文件指針移到文件尾。
			raf.seek(fileLength);
			// raf.skipBytes(skipLength);
			raf.write((content + FileUtil.LINE_SEPARATOR).getBytes());
			raf.close();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				raf.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 追加文件內容
	 * 
	 * @param file
	 *            文件
	 * @param content
	 *            內容
	 * @param before
	 *            在前面
	 */
	@Deprecated
	public final static void appendContentByRandomAccessFile(File file, String content, boolean before) {
		appendContentByRandomAccessFile(file, content, before ? 0 : Long.MAX_VALUE);
	}

	/**
	 * 追加文件內容
	 * 
	 * @param file
	 *            文件
	 * @param content
	 *            內容
	 * @param skipLength
	 *            在第幾行寫
	 */
	@Deprecated
	public final static void appendContentByRandomAccessFile(File file, String content, long skipLength) {
		RandomAccessFile raf = null;
		try {
			// 打開一個隨機訪問文件流,按讀寫方式
			raf = new RandomAccessFile(file.getAbsolutePath(), "rw");
			// 文件長度,字節數
			long fileLength = raf.length();
			if (skipLength < 0) {
				skipLength = 0;
			} else if (skipLength == Long.MAX_VALUE) {
				skipLength = fileLength;
			} else {
				if (skipLength > fileLength) {
					skipLength = fileLength;
				}
			}
			// 將寫文件指針移到文件尾。
			raf.seek(skipLength);
			// raf.skipBytes(skipLength);
			raf.write((content + FileUtil.LINE_SEPARATOR).getBytes());
			raf.close();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				raf.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 監聽文件夾變化
	 * 
	 * @param rootDir
	 *            文件夾路徑
	 * @param adaptor
	 *            監聽文件適配器
	 */
	public static void listenerFile(final String rootDir, final FileAlterationListenerAdaptor adaptor) {
		listenerFile(rootDir, adaptor, 1000);
	}

	/**
	 * 監聽文件夾變化
	 * 
	 * @param rootDir
	 *            文件夾路徑
	 * @param adaptor
	 *            監聽文件適配器
	 * @param interval
	 *            輪詢間隔 interval 秒
	 */
	public static void listenerFile(final String rootDir, final FileAlterationListenerAdaptor adaptor, final long interval) {
		new Thread(new Runnable() {
			@Override
			public void run() {
				try {
					// logger.info("監聽文件目錄【" + rootDir + "】");
					// 輪詢間隔 1 秒
					// long interval = TimeUnit.SECONDS.toMillis(1);
					// 創建一個文件觀察器用于處理文件的格式
					FileAlterationObserver observer = new FileAlterationObserver(rootDir);
					// 設置文件變化監聽器
					observer.addListener(adaptor);
					// 創建文件變化監聽器
					FileAlterationMonitor monitor = new FileAlterationMonitor(interval, observer);
					// 開始監控
					monitor.start();
					logger.info("監聽文件目錄【" + rootDir + "】開始啟動");
				} catch (Exception e) {
					logger.error("監聽出錯", e);
				}
			}
		}).start();
	}

	/**
	 * 拷貝文件
	 * 
	 * @param callBack
	 *            拷貝回調
	 * 
	 */
	public static void copyFiles(ICopyFilesCallBack callBack) {
		String input = callBack.getInputFile();
		String output = callBack.getOutputFile();
		try {
			// 拷貝文件路徑[輸入文件目錄->拷貝文件路徑]
			Collection<String> queryClass = callBack.getCopyFile();
			File inputFile = new File(input);
			if (!inputFile.exists()) {
				throw new ServiceException("輸入文件目錄不存在");
			}
			File outputFile = new File(output);
			if (!outputFile.exists()) {
				outputFile.mkdirs();
			}
			// 查詢所有源文件
			List<File> files = new ArrayList<File>();
			FileUtil.setFilterFiles(files, input);
			// classes路徑前綴
			String srcPrefix = "";
			input = FileUtil.linuxSeparator(input);
			if (!input.endsWith("/")) {
				input += "/";
			}
			// 源文件路徑前綴
			srcPrefix = input;
			// System.out.println("文件個數[" + files.size() + "]");
			for (File inFile : files) {
				String lf = FileUtil.linuxSeparator(inFile.getAbsolutePath());
				// 過慮后綴
				// String includeExt = ".class";
				// if (CheckUtil.isNotNull(includeExt) && !lf.endsWith(includeExt)) {
				// continue;
				// }
				// 取得類全路徑com/xxx/xxx/xxx.class
				String clsPath = lf.substring(srcPrefix.length());
				// System.out.println(lf + "###" + clsPath);
				if (queryClass.contains(clsPath)) {
					// 拷貝源class
					File outFile = new File(output, clsPath);
					// 判斷目標文件目錄是否存在
					File dstFileDir = outFile.getParentFile();
					if (!dstFileDir.exists()) {
						dstFileDir.mkdirs();
					}
					FileUtil.copyFile(inFile, outFile);
					// 回調
					callBack.copyFile(inFile, outFile);
					// System.out.println("源文件【" + inFile.getAbsolutePath() + "】拷貝到->【" + outFile.getAbsolutePath() + "】");
				}
			}
			// System.out.println("文件個數[" + files.size() + "]");
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 獲取進程命令執行打印出來的信息
	 * 
	 * @param command
	 *            命令
	 * @return
	 */
	public static List<String> cmdProcessInfo(String command) {
		return cmdProcessInfo(command, "GBK");
	}

	/**
	 * 獲取進程命令執行打印出來的信息
	 * 
	 * @param command
	 *            命令
	 * @param charsetName
	 *            編碼
	 * @return
	 */
	public static List<String> cmdProcessInfo(String command, String charsetName) {
		List<String> lists = new ArrayList<String>();
		BufferedReader in = null;
		Process pro = null;
		try {
			Runtime r = Runtime.getRuntime();
			pro = r.exec(command);
			in = new BufferedReader(new InputStreamReader(pro.getInputStream(), charsetName));
			String line = in.readLine();
			line = IOUtils.readFirstLine(line);
			while (line != null) {
				lists.add(line);
				line = in.readLine();
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			if (in != null) {
				try {
					in.close();
				} catch (IOException e) {
				}
			}
			if (pro != null) {
				pro.destroy();
			}
		}
		return lists;
	}

	/**
	 * 創建文件目錄
	 * 
	 * @param file
	 *            文件/目錄
	 */
	public static void fileMkdir(File... files) {
		if (files == null)
			return;
		for (File file : files) {
			String outputDir = "";
			if (file.isDirectory()) {
				outputDir = file.getAbsolutePath();
			} else {
				outputDir = file.getParent();
			}
			File outputDirFile = new File(outputDir);
			if (!outputDirFile.exists()) {
				outputDirFile.mkdirs();
			}
		}
	}

	/**
	 * 拷貝文件
	 * 
	 * @param inputFile
	 *            輸入文件
	 * @param outputFile
	 *            輸出文件
	 */
	public static void copyFile(File inputFile, File outputFile) {
		try {
			fileMkdir(outputFile);
			FileInputStream inputFIS = new FileInputStream(inputFile);
			FileOutputStream outputFOS = new FileOutputStream(outputFile);
			IOUtils.copyLarge(inputFIS, outputFOS);
			IOUtils.closeQuietly(inputFIS);
			IOUtils.closeQuietly(outputFOS);
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 讀取jar包里面指定文件的內容
	 * 
	 * @param jarFilePath
	 *            jar包文件路徑
	 * @param fileName
	 *            文件路徑名
	 * @throws IOException
	 */
	public static InputStream jarReadInputStream(String jarFilePath, String fileName) {
		JarFile jarFile = null;
		try {
			jarFile = new JarFile(jarFilePath);
			JarEntry entry = jarFile.getJarEntry(fileName);
			InputStream is = jarFile.getInputStream(entry);
			return FileUtil.copyInputStream(is);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				jarFile.close();
			} catch (IOException e) {
			}
		}
	}

	/**
	 * 讀取回調jar文件
	 * 
	 * @param jarFile
	 *            jar包路徑
	 * @param entryName
	 *            要寫的文件名
	 * @param data
	 *            文件內容
	 * @throws Exception
	 */
	public static void jarRead(IJarCallBackRead call) {
		String jarFilePath = call.getFilePath();
		if (CheckUtil.isNull(jarFilePath)) {
			throw new ServiceException("文件路徑zj.io.model.ICallBackWriteJar.getFilePath()不能為空");
		}
		// jar文件操作
		JarFile jarFile = null;
		try {
			// 1、首先將原Jar包里的所有內容讀取到內存里,用TreeMap保存
			jarFile = new JarFile(jarFilePath);
			// 讀取jar包內容
			Enumeration<JarEntry> es = jarFile.entries();
			while (es.hasMoreElements()) {
				// 獲取Jar對象
				JarEntry je = es.nextElement();
				// 文件名稱
				String name = je.getName();
				// // 文件大小
				// long size = je.getSize();
				// // 壓縮后的大小
				// long compressedSize = je.getCompressedSize();
				// 讀取jar包字節
				byte[] b = null;
				try {
					b = FileUtil.readByteByStream(jarFile.getInputStream(je));
				} catch (Exception e) {
					b = null;
				}
				// 放入臨時集合中
				boolean isContinue = call.read(je, KV.with(name, b));
				if (!isContinue) {
					// 中斷
					break;
				}
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				jarFile.close();
			} catch (IOException e) {
			}
		}
	}

	/**
	 * 讀取jar文件內容到map中
	 * 
	 * @param filePath
	 *            jar包路徑
	 * @throws Exception
	 */
	public static Map<String, byte[]> jarReadToMap(final String filePath) {
		// 可以保持排列的順序,所以用TreeMap 而不用HashMap
		final Map<String, byte[]> tm = new TreeMap<String, byte[]>();
		jarRead(new JarCallBackRead() {
			@Override
			public String getFilePath() {
				return filePath;
			}

			@Override
			public boolean read(JarEntry je, KV<String, byte[]> kv) {
				tm.put(kv.getK(), kv.getV());
				return true;
			}
		});
		return tm;
	}

	/**
	 * 修改Jar包里的文件或者添加文件
	 * 
	 * @param call
	 *            {@code jarFile jar包路徑,entryName 要寫的文件名,data 文件內容}
	 * @throws Exception
	 */
	public static void jarWrite(IJarCallBackWrite call) {
		String filePath = call.getFilePath();
		// 可以保持排列的順序,所以用TreeMap 而不用HashMap
		Map<String, byte[]> tm = jarReadToMap(filePath);
		String newFilePath = call.getNewFilePath();
		if (CheckUtil.isNull(newFilePath)) {
			newFilePath = filePath;
		}
		String entryName = call.getEntryName();
		byte[] data = call.getEntryData();
		boolean override = call.getEntryOverride();
		// jar文件操作
		JarFile jarFile = null;
		JarOutputStream jos = null;
		FileOutputStream fos = null;
		try {
			// 1、首先將原Jar包里的所有內容讀取到內存里,用TreeMap保存
			jarFile = new JarFile(filePath);
			// 寫出jar文件
			fos = new FileOutputStream(newFilePath);
			// 創建jar輸出流
			jos = new JarOutputStream(fos);
			Iterator<Map.Entry<String, byte[]>> it = tm.entrySet().iterator();
			// 判斷是否添加新的文件
			boolean isExistFile = false;
			// 2、將TreeMap重新寫到原jar里,如果TreeMap里已經有entryName文件那么覆蓋,否則在最后添加
			while (it.hasNext()) {
				Map.Entry<String, byte[]> item = it.next();
				// 當前文件名
				String name = item.getKey();
				// 當前文件字節碼
				byte[] tempData = item.getValue();
				if (name.equals(entryName)) {
					// 如果數據存在,不能執行下面添加操作,覆蓋,名稱相同
					isExistFile = true;
					if (data != null && override) {
						// 覆蓋文件
						tempData = data;
					}
				}
				// 回調操作
				VVV<Boolean, String, byte[]> result = call.updateData(KV.with(name, tempData));
				if (result != null) {
					if (!result.getV1()) {
						// 刪除此文件
						continue;
					}
					// 重新賦值名稱和數據
					name = result.getV2();
					tempData = result.getV3();
				}
				// 實例化jar里的對象
				JarEntry entry = new JarEntry(name);
				// 放入jar文件中
				jos.putNextEntry(entry);
				// 寫入字節
				jos.write(tempData, 0, tempData.length);
			}
			if (CheckUtil.isNotNull(entryName) && !isExistFile) {
				// 如果不存在文件則添加
				// 最后添加
				JarEntry newEntry = new JarEntry(entryName);
				jos.putNextEntry(newEntry);
				jos.write(data, 0, data.length);
			}
			jos.finish();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			try {
				fos.close();
			} catch (IOException e) {
			}
			try {
				jos.close();
			} catch (IOException e) {
			}
			try {
				jarFile.close();
			} catch (IOException e) {
			}
		}
	}

	/**
	 * 深度拷貝流
	 * 
	 * @param is
	 *            深度拷貝流
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @throws IOException
	 */
	public static InputStream copyInputStream(InputStream is) {
		try {
			// 創建一個新的流
			return new ByteArrayInputStream(readByteByStream(is));
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 按行輸出流內容
	 * 
	 * @param is
	 *            流,此is不關閉
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @throws IOException
	 */
	public static void printInputStream(InputStream is) {
		printInputStream(is, "GBK");
	}

	/**
	 * 按行輸出流內容
	 * 
	 * @param is
	 *            流,此is不關閉
	 * @param charsetName
	 *            字符集
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @throws IOException
	 */
	public static void printInputStream(InputStream is, String charsetName) {
		BufferedReader reader = null;
		InputStreamReader isr = null;
		try {
			isr = new InputStreamReader(is, charsetName);
			reader = new BufferedReader(isr);
			String line = null;
			while ((line = reader.readLine()) != null) {
				System.out.println(line);
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			IOUtils.closeQuietly(reader);
		}

	}

	/**
	 * 讀取流
	 * 
	 * @param file
	 *            文件
	 * @return 字節數組
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 字節流
	 * @throws Exception
	 */
	public static byte[] readByteByFile(File file) {
		try {
			return readByteByStream(new FileInputStream(file));
		} catch (IOException e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 讀取流
	 * 
	 * @param is
	 *            輸入流
	 * @return 字節數組
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 字節流
	 * @throws Exception
	 */
	public static byte[] readByteByStream(InputStream is) {
		ByteArrayOutputStream baos = null;
		try {
			baos = new ByteArrayOutputStream();
			byte[] buff = new byte[BUFSIZE];
			int len = -1;
			while ((len = is.read(buff)) != -1) {
				baos.write(buff, 0, len);
			}
			byte[] b = baos.toByteArray();
			return b;
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(baos);
			IOUtils.closeQuietly(is);
		}
	}

	/**
	 * 設置文件目錄/文件的修改時間
	 * 
	 * @param file
	 *            文件
	 * @param lmdate
	 *            修改的日期
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return
	 */
	public static void setLastModified(File file, String lmdate) {
		if (file == null || !file.exists()) {
			logger.warn("文件不存在,無法設置修改時間");
			return;
		}
		Date ld = DateUtil.parseDate(lmdate);
		if (ld == null) {
			logger.warn("日期格式不正確");
			return;
		}
		long lastDate = ld.getTime();
		if (file.isDirectory()) {
			// 讀取文件目錄
			List<File> files = new ArrayList<File>();
			FileUtil.setFilterFiles(files, file.getAbsolutePath());
			for (File $file : files) {
				$file.setLastModified(lastDate);
			}
		} else {
			file.setLastModified(lastDate);
		}
	}

	/**
	 * 移動文件
	 * 
	 * @param srcFile
	 *            源文件
	 * @param destFile
	 *            目標文件(文件或目錄)
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return
	 */
	public static void moveFile(File srcFile, File destFile) throws Exception {
		moveFile(srcFile, destFile, false);
	}

	/**
	 * 移動文件
	 * 
	 * @param srcFile
	 *            源文件
	 * @param destFile
	 *            目標文件(文件或目錄)
	 * @param overrideFile
	 *            是否覆蓋
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return
	 */
	public static void moveFile(File srcFile, File destFile, boolean overrideFile) throws Exception {
		// File srcFile = new File("D:/msth/ipo/excel/入圍/復核/復核-20161103.xlsx");
		// File destFile = new File("D:/msth/ipo/excel/入圍/復核/backup");
		// boolean overrideFile = false;
		try {
			if (overrideFile) {
				// 拷貝文件
				if (destFile.isDirectory()) {
					try {
						FileUtils.copyFileToDirectory(srcFile, destFile);
					} catch (Exception e1) {
						// 不做處理
					}
				} else {
					try {
						FileUtils.copyFile(srcFile, destFile);
					} catch (Exception e1) {
						// 不做處理
					}
				}
				// 刪除源文件
				srcFile.delete();
			} else {
				if (destFile.isDirectory()) {
					FileUtils.moveFileToDirectory(srcFile, destFile, true);
				} else {
					FileUtils.moveFile(srcFile, destFile);
				}
			}
		} catch (Exception e) {
			if (e instanceof FileExistsException) {
				// 文件存在
				if (destFile.isDirectory()) {
					String destPath = srcFile.getAbsolutePath();
					File renameDestFile = new File(destFile, FilenameUtils.getBaseName(destPath) + "-" + DateUtil.dateParse(new Date(), "yyyyMMddHHmmssSSS") + "." + FilenameUtils.getExtension(destPath));
					FileUtils.moveFile(srcFile, renameDestFile);
				} else {
					String destPath = destFile.getAbsolutePath();
					File renameDestFile = new File(FilenameUtils.getBaseName(destPath) + "-" + DateUtil.dateParse(new Date(), "yyyyMMddHHmmssSSS") + "." + FilenameUtils.getExtension(destPath));
					FileUtils.moveFile(srcFile, renameDestFile);
				}
			} else {
				e.printStackTrace();
				throw e;
			}
		}
	}

	/**
	 * 取得文件的創建時間
	 * 
	 * @param file
	 * @return
	 */
	public static final String getCreateTime(File file) {
		String createTime = "";
		try {
			Process p = Runtime.getRuntime().exec("cmd /C dir " + file.getAbsolutePath() + " /tc");
			InputStream is = p.getInputStream();
			// ant下的zip工具默認壓縮編碼為UTF-8編碼, 而winRAR軟件壓縮是用的windows默認的GBK或者GB2312編碼 所以解壓縮時要制定編碼格式
			BufferedReader br = new BufferedReader(new InputStreamReader(is, "gbk"));
			String line = null;
			int i = 0;
			while ((line = br.readLine()) != null) {
				if (++i == 6) {
					createTime = line.substring(0, 17);
				}
			}
		} catch (Exception e) {
			createTime = "";
			logger.error(e.getMessage());
		}
		return createTime;
	}

	/**
	 * 根據系統改變路徑分割符號
	 * 
	 * @param path
	 *            路徑
	 * @param isSpeEnd
	 *            是否添加最后分割符
	 *            <p>
	 *            true:添加
	 *            </p>
	 *            <p>
	 *            false:默認
	 *            </p>
	 * @see #changePathSeparator(String, zj.io.util.ConstantForEnum.ChangePathLastSeparator)
	 * @return 改變后的系統路徑
	 */
	@Deprecated
	public static final String changePathSeparator(String path, boolean isSpeEnd) {
		if (CheckUtil.isNull(path))
			return "";
		// logger.debug("改變路徑分割符號前path:" + path);
		if (SEPARATOR.equals("/")) {
			// 非windows系統
			path = path.replaceAll("\\\\", "/");
			if (isSpeEnd) {
				if (!path.endsWith("/")) {
					path = path + "/";
				}
			}
		} else {
			// windows系統
			path = path.replaceAll("/", "\\\\");
			if (isSpeEnd) {
				if (!path.endsWith("\\")) {
					path = path + "\\";
				}
			}
		}
		return path;
	}

	/**
	 * 根據系統改變路徑分割符號
	 * 
	 * @param path
	 *            路徑
	 * @param sepEnum
	 *            常量枚舉{@link zj.io.util.ConstantForEnum.ChangePathLastSeparator}
	 * @return 改變后的系統路徑
	 */
	public static final String changePathSeparator(String path, ConstantForEnum.ChangePathLastSeparator sepEnum) {
		if (CheckUtil.isNull(path))
			return "";
		// logger.debug("改變路徑分割符號前path:" + path);
		if (SEPARATOR.equals("/")) {
			path = linuxSeparator(path, sepEnum);
		} else {
			path = windowsSeparator(path, sepEnum);
		}
		return path;
	}

	/**
	 * 根據系統改變包路徑分割符號
	 * 
	 * @param packagePath
	 *            包路徑
	 * @return 包路徑
	 */
	public static final String packageToPath(String packagePath) {
		if (CheckUtil.isNull(packagePath))
			return "";
		// logger.debug("改變路徑分割符號前path:" + path);
		if (SEPARATOR.equals("/")) {
			packagePath = packagePath.replaceAll("\\.", "/");
		} else {
			packagePath = packagePath.replaceAll("\\.", "\\\\");
		}
		return packagePath;
	}

	/**
	 * window分割符
	 * 
	 * @param path
	 *            路徑
	 * @return 改變后的系統路徑
	 */
	public static final String windowsSeparator(String path) {
		return windowsSeparator(path, ConstantForEnum.ChangePathLastSeparator.NONE);
	}

	/**
	 * window分割符
	 * 
	 * @param path
	 *            路徑
	 * @param sepEnum
	 *            常量枚舉{@link zj.io.util.ConstantForEnum.ChangePathLastSeparator}
	 * @return 改變后的系統路徑
	 */
	public static final String windowsSeparator(String path, ConstantForEnum.ChangePathLastSeparator sepEnum) {
		if (CheckUtil.isNull(path))
			return "";
		// windows系統
		path = path.replaceAll("/", "\\\\");
		if (ConstantForEnum.ChangePathLastSeparator.ADD_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.ADD_BEFORE == sepEnum) {
			if (!path.startsWith("\\")) {
				path = "\\" + path;
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.ADD_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.ADD_AFTER == sepEnum) {
			if (!path.endsWith("\\")) {
				path = path + "\\";
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.DEL_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.DEL_BEFORE == sepEnum) {
			if (path.startsWith("\\")) {
				path = path.substring(1);
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.DEL_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.DEL_AFTER == sepEnum) {
			if (path.endsWith("\\")) {
				path = path.substring(0, path.length() - 1);
			}
		}
		return path;
	}

	/**
	 * linux分割符
	 * 
	 * @param path
	 *            路徑
	 * @return 改變后的系統路徑
	 */
	public static final String linuxSeparator(String path) {
		return linuxSeparator(path, ConstantForEnum.ChangePathLastSeparator.NONE);
	}

	/**
	 * linux分割符
	 * 
	 * @param path
	 *            路徑
	 * @param sepEnum
	 *            常量枚舉{@link zj.io.util.ConstantForEnum.ChangePathLastSeparator}
	 * @return 改變后的系統路徑
	 */
	public static final String linuxSeparator(String path, ConstantForEnum.ChangePathLastSeparator sepEnum) {
		if (CheckUtil.isNull(path))
			return "";
		// 非windows系統
		path = path.replaceAll("\\\\", "/");
		// switch (sepEnum) {
		// case ADD_ALL:
		// case ADD_BEFORE:
		// break;
		// case ADD_AFTER:
		// break;
		// default:
		// break;
		// }
		if (ConstantForEnum.ChangePathLastSeparator.ADD_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.ADD_BEFORE == sepEnum) {
			if (!path.startsWith("/")) {
				path = "/" + path;
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.ADD_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.ADD_AFTER == sepEnum) {
			if (!path.endsWith("/")) {
				path = path + "/";
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.DEL_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.DEL_BEFORE == sepEnum) {
			if (path.startsWith("/")) {
				path = path.substring(1);
			}
		}
		if (ConstantForEnum.ChangePathLastSeparator.DEL_ALL == sepEnum || ConstantForEnum.ChangePathLastSeparator.DEL_AFTER == sepEnum) {
			if (path.endsWith("/")) {
				path = path.substring(0, path.length() - 1);
			}
		}
		return path;
	}

	/**
	 * 根據系統改變路徑分割符號
	 * 
	 * @param path
	 * @return
	 */
	public static final String changePathSeparator(String path) {
		return changePathSeparator(path, ConstantForEnum.ChangePathLastSeparator.NONE);
	}

	/**
	 * 獲得文件擴展名及前面的字符串
	 * 
	 * @param filePath
	 *            E:\\xmls\\iqc_basic_user.xml [E:\xmls\,iqc_basic_user,.xml,false]
	 * @return
	 */
	public static final String[] getFileNameExtension(String filePath) {
		String[] rtnStrs = new String[4];
		rtnStrs[0] = "";
		rtnStrs[1] = "";
		rtnStrs[2] = "";
		rtnStrs[3] = "";
		String dirPath = "";
		String fileName = "";
		String fileExtension = "";
		String tempStr = "";
		int index = -1;
		filePath = changePathSeparator(filePath);
		if (CheckUtil.isNotNull(filePath)) {
			index = filePath.lastIndexOf(SEPARATOR);
			if (index >= 0) {
				dirPath = filePath.substring(0, index + 1);
				tempStr = filePath.substring(index + 1);
				index = tempStr.lastIndexOf(".");
				if (index >= 0) {
					fileName = tempStr.substring(0, index);
					fileExtension = tempStr.substring(index);
				}
			} else {
				index = filePath.lastIndexOf(".");
				if (index >= 0) {
					fileName = filePath.substring(0, index);
					dirPath = fileName;
					fileExtension = filePath.substring(index);
				} else {
					dirPath = filePath;
					fileName = filePath;
				}
			}
		}
		rtnStrs[0] = dirPath;
		rtnStrs[1] = fileName;
		rtnStrs[2] = fileExtension;
		String diskPath = "";
		try {
			diskPath = dirPath.substring(dirPath.indexOf("\\") + 1);
		} catch (Exception e) {
			diskPath = "";
		}
		if ("".equals(diskPath)) {
			rtnStrs[3] = "true";
		} else {
			rtnStrs[3] = "false";
		}
		return rtnStrs;
	}

	/**
	 * 獲取圖片流
	 * 
	 * @param file
	 * @return
	 * @throws IOException
	 */
	public static final ImageReader getImageReader(File file) {
		try {
			ImageReader reader = null;
			String fileExtension = FilenameUtils.getExtension(file.getName());
			Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName(fileExtension);
			reader = readers.next();
			ImageInputStream iis = ImageIO.createImageInputStream(file);
			reader.setInput(iis, true);
			return reader;
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 創建文件或目錄
	 * 
	 * @param file
	 *            文件對象
	 * @param isFolder
	 *            是否是目錄
	 * @return 創建是否成功
	 * @throws IOException
	 */
	public static final boolean createFolderOrFile(File file, boolean isFolder) {
		if (file == null)
			return false;
		if (isFolder) {
			if (file.exists()) {
				if (file.isFile()) {
					logger.warn("創建文件夾失敗:將要創建的文件【" + file.getAbsolutePath() + "】重名");
				} else if (file.isDirectory()) {
					logger.warn("創建文件夾失敗:將要創建的文件夾【" + file.getAbsolutePath() + "】已經存在");
				}
				return false;
			} else {
				file.mkdirs();
				logger.debug("創建文件夾【" + file.getAbsolutePath() + "】成功!");
				return true;
			}
		} else {
			String path = file.getPath();
			String[] tempPaths = getFileNameExtension(path);
			File fileDir = new File(tempPaths[0]);
			if (fileDir.exists()) {
				logger.warn("創建文件夾失敗:將要創建的文件夾【" + fileDir.getAbsolutePath() + "】已經存在");
				return false;
			} else {
				fileDir.mkdirs();
				logger.debug("創建文件夾【" + fileDir.getAbsolutePath() + "】成功!");
				return true;
			}
		}
	}

	/**
	 * 創建文件或目錄
	 * 
	 * @param file
	 * @return
	 * @throws IOException
	 */
	public static final boolean createFolderOrFile(String file) {
		return createFolderOrFile(file, false);
	}

	/**
	 * 創建文件或目錄
	 * 
	 * @param file
	 * @param isFolder
	 * @return
	 * @throws IOException
	 */
	public static final boolean createFolderOrFile(String file, boolean isFolder) {
		if (CheckUtil.isNull(file)) {
			return false;
		}
		file = changePathSeparator(file);
		return createFolderOrFile(new File(file), isFolder);
	}

	/**
	 * 創建文件
	 * 
	 * @param file
	 * @throws IOException
	 */
	public static final void forceMkdirFolderOrFile(String file) {
		if (CheckUtil.isNull(file)) {
			return;
		}
		file = changePathSeparator(file);
		forceMkdirFolderOrFile(new File(file));
	}

	/**
	 * 創建文件或目錄
	 * 
	 * @param file
	 *            文件對象
	 * @throws IOException
	 */
	public static final void forceMkdirFolderOrFile(File file) {
		try {
			if (file == null)
				return;
			if (!file.exists()) {
				// 創建目錄
				if (file.isFile()) {
					String path = file.getPath();
					String[] tempPaths = getFileNameExtension(path);
					File fileDir = new File(tempPaths[0]);
					if (fileDir.exists()) {
						logger.warn("創建文件夾失敗:將要創建的文件夾【" + fileDir.getAbsolutePath() + "】已經存在");
					} else {
						fileDir.mkdirs();
						logger.debug("創建文件夾【" + fileDir.getAbsolutePath() + "】成功!");
					}
				} else {
					file.mkdirs();
					logger.debug("創建文件夾【" + file.getAbsolutePath() + "】成功!");
				}
			}
			if (file.isFile()) {
				file.createNewFile();
				logger.debug("創建文件【" + file.getAbsolutePath() + "】成功!");
			}
		} catch (Exception e) {
			logger.error(e);
		}
	}

	/**
	 * 創建目錄
	 * 
	 * @param file
	 * @return
	 * @throws IOException
	 */
	public static final boolean createFolderOrFile(File file) {
		return createFolderOrFile(file, false);
	}

	/**
	 * 將一個字符串轉化為輸入流
	 * 
	 * @param sInputString
	 * @return
	 */
	public static final InputStream getStringStream(String sInputString) {
		return getStringStream(sInputString, "utf-8");
	}

	/**
	 * 將一個字符串轉化為輸入流
	 * 
	 * @param sInputString
	 * @param charset
	 * @return
	 */
	public static final InputStream getStringStream(String sInputString, String charset) {
		if (sInputString != null && !sInputString.trim().equals("")) {
			try {
				ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(sInputString.getBytes(charset));
				return tInputStringStream;
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * 將一個輸入流轉化為字符串
	 * 
	 * @see #readString(File)
	 * @param file
	 *            文件對象
	 * @return
	 */
	@Deprecated
	public static final String getStreamString(File file) {
		try {
			return getStreamString(new BufferedInputStream(new FileInputStream(file)));
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 將一個輸入流轉化為字符串
	 * 
	 * @see #readString(InputStream, boolean)
	 * @param is
	 *            輸入流
	 * @return 文件內容
	 */
	public static final String getStreamString(InputStream is) {
		InputStreamReader isr = null;
		if (is != null) {
			StringBuffer sb = new StringBuffer();
			BufferedReader br = null;
			try {
				br = new BufferedReader((isr = new InputStreamReader(is)));
				String sLine = null;
				sLine = br.readLine();
				sLine = IOUtils.readFirstLine(sLine);
				if (sLine != null) {
					sb.append(sLine);
					while ((sLine = br.readLine()) != null) {
						sb.append(sLine);
					}
				}
				return sb.toString();
			} catch (Exception e) {
				throw new ServiceException(e);
			} finally {
				try {
					if (br != null)
						br.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
				try {
					if (isr != null)
						isr.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
				try {
					if (is != null)
						is.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}

		}
		return null;
	}

	/**
	 * 設置一個目錄的所有文件至集合中
	 * 
	 * @param fileList
	 *            過慮后的文件集合
	 * @param dir
	 *            目錄
	 * @param filter
	 *            自定義文件過慮器
	 * @param defaultFilter
	 *            默認過慮器
	 */
	public static final void setFilterFilesLevel(List<File> fileList, String dir, FileFilterI filter, FileFilter defaultFilter, int level) {
		File file = new File(dir);
		if (!file.exists()) {
			logger.warn("文件:" + file.getAbsolutePath() + "不存在");
			return;
		}
		if (filter == null) {
			// 自定義filter為空
			if (file.isDirectory()) {
				File[] files = null;
				if (defaultFilter == null) {
					files = file.listFiles();
				} else {
					files = file.listFiles(defaultFilter);
				}
				if (files == null) {
					logger.debug("文件:" + file.getAbsolutePath() + "不存在");
				} else {
					for (File info : files) {
						if (info.isDirectory()) {
							fileList.add(info);
							setFilterFilesLevel(fileList, info.getPath(), filter, defaultFilter, 0);
						} else {
							// 如果是文件
							fileList.add(info);
						}
					}
				}
			} else {
				fileList.add(file);
			}
		} else {
			int tempLevel = level + 1;
			if (file.isDirectory()) {
				// 如果是目錄
				if (filter.interrupt(file, fileList)) {
					logger.debug("待判斷文件夾:" + file.getAbsolutePath() + "退出");
					return;
				}
				File[] files = null;
				if (defaultFilter == null) {
					files = file.listFiles();
				} else {
					files = file.listFiles(defaultFilter);
				}
				if (files == null) {
					logger.debug("文件:" + file.getAbsolutePath() + "不存在");
				} else {
					for (File info : files) {
						if (level == 0) {
							// 如果當前是開始目錄,則設置為1
							tempLevel = 1;
						}
						filter.setLevel(tempLevel);
						if (filter.accept(info)) {
							// 是否接收文件夾或文件
							if (info.isDirectory()) {
								if (filter.acceptDir(info)) {
									// 是否接收文件夾
									if (filter.interrupt(info, fileList)) {
										logger.debug("循環中待添加文件夾:" + info.getAbsolutePath() + "中斷");
										break;
									}
									fileList.add(info);
								}
								if (filter.interrupt(info, fileList)) {
									logger.debug("待回調文件夾:" + info.getAbsolutePath() + "中斷");
									break;
								}
								setFilterFilesLevel(fileList, info.getPath(), filter, defaultFilter, tempLevel);
							} else {
								// 如果是文件
								if (filter.acceptFile(info)) {
									// 是否接受文件
									if (filter.interrupt(info, fileList)) {
										logger.debug("循環中待添加文件:" + info.getAbsolutePath() + "中斷");
										break;
									}
									fileList.add(info);
								}
							}
						}
					}
				}
			} else {
				// 設置當前文件級別
				filter.setLevel(tempLevel);
				if (filter.accept(file)) {
					if (filter.interrupt(file, fileList)) {
						logger.debug("待判斷文件:" + file.getAbsolutePath() + "退出");
						return;
					}
					if (filter.acceptFile(file)) {
						if (filter.interrupt(file, fileList)) {
							logger.debug("待添加文件:" + file.getAbsolutePath() + "中斷");
							return;
						}
						fileList.add(file);
					}
				}
			}
		}
	}

	/**
	 * 讀取某個文件夾下的所有文件
	 * 
	 * @param inpath
	 *            輸入目錄
	 * @param call
	 *            讀取文件回調接口
	 */
	public static void readFiles(File file, IReadFilesCall call) {
		try {
			if (call == null) {
				// 如果無實現,則退出
				return;
			}
			if (call.isInterrupt()) {
				return;
			}
			if (file.isDirectory()) {
				// 文件列表信息
				File[] filelist = file.listFiles();
				// 循環文件列表
				for (File thisFile : filelist) {
					if (thisFile.isDirectory()) {
						// 如果是目錄
						// 每個文件回調
						call.callback(file);
						// 目錄回調
						call.directory(thisFile);
						// 遞歸調用
						readFiles(thisFile, call);
					} else {
						// 如果是文件
						// 每個文件回調
						call.callback(thisFile);
						// 文件回調
						call.file(thisFile);
					}
				}
			} else {
				// 每個文件回調
				call.callback(file);
				// 文件回調
				call.file(file);
			}
		} catch (Exception e) {
			logger.error(e);
		}
	}

	/**
	 * 設置一個目錄的所有文件至集合中
	 * 
	 * @param fileList
	 *            過慮后的文件集合
	 * @param dir
	 *            目錄
	 * @param filter
	 *            自定義文件過慮器
	 * @param defaultFilter
	 *            默認過慮器
	 */
	public static final void setFilterFiles(List<File> fileList, String dir, FileFilterI filter, FileFilter defaultFilter) {
		setFilterFilesLevel(fileList, dir, filter, defaultFilter, 0);
	}

	/**
	 * 設置一個目錄的所有文件至集合中
	 * 
	 * @param fileList
	 *            過慮后的文件集合
	 * @param dir
	 *            目錄
	 * @param defaultFilter
	 *            默認過慮器
	 */
	public static final void setFilterFiles(List<File> fileList, String dir, FileFilter defaultFilter) {
		setFilterFiles(fileList, dir, null, defaultFilter);
	}

	/**
	 * 設置一個目錄的所有文件至集合中
	 * 
	 * @param fileList
	 *            過慮后的文件集合
	 * @param dir
	 *            目錄
	 * @param filter
	 *            自定義文件過慮器
	 */
	public static final void setFilterFiles(List<File> fileList, String dir, FileFilterI filter) {
		setFilterFiles(fileList, dir, filter, null);
	}

	/**
	 * 設置一個目錄的所有文件至集合中
	 * 
	 * @param fileList
	 *            過慮后的文件集合
	 * @param dir
	 *            目錄
	 */
	public static final void setFilterFiles(List<File> fileList, String dir) {
		setFilterFiles(fileList, dir, null, null);
	}

	/**
	 * 設置屬性文件的值
	 * 
	 * @param path
	 * @param key
	 * @param value
	 * @throws Exception
	 */
	public static final void setProperty(String path, String key, String value) throws Exception {
		FileInputStream fis = new FileInputStream(path);
		BufferedInputStream bis = new BufferedInputStream(fis);
		// 配置文件內容解析
		Properties prop = new Properties();
		prop.load(bis);
		bis.close();
		fis.close();
		FileOutputStream fos = new FileOutputStream(path);
		BufferedOutputStream bos = new BufferedOutputStream(fos);
		// Properties prop = getProperties(path);
		prop.setProperty(key, value);
		prop.store(bos, null);
		bos.flush();
		fos.flush();
		bos.close();
		fos.close();
	}

	/**
	 * 獲取屬性值
	 * 
	 * @param path
	 * @param key
	 * @return
	 * @throws Exception
	 */
	public static final String getProperty(String path, String key) throws Exception {
		return getProperties(path).getProperty(key);
	}

	/**
	 * 獲取屬性對象
	 * 
	 * @param path
	 * @param key
	 * @return
	 * @throws Exception
	 */
	public static final Properties getProperties(String path) throws Exception {
		FileInputStream fis = new FileInputStream(path);
		BufferedInputStream bis = new BufferedInputStream(fis);
		// 配置文件內容解析
		Properties prop = new Properties();
		prop.load(bis);
		bis.close();
		fis.close();
		return prop;
	}

	/**
	 * 將對象序列化到磁盤文件中
	 * 
	 * @param t
	 *            對象
	 * @param filePath
	 *            文件路徑
	 * @throws Exception
	 */
	public static final <T> void writeObjectToFile(T t, String filePath) throws Exception {
		writeObjectToFile(t, new File(filePath));
	}

	/**
	 * 將對象序列化到磁盤文件中
	 * 
	 * @param t
	 * @param file
	 * @throws Exception
	 */
	public static final <T> void writeObjectToFile(T t, File file) throws Exception {
		FileOutputStream fos = null;
		BufferedOutputStream bos = null;
		ObjectOutputStream oos = null;
		try {
			String[] fileExts = getFileNameExtension(file.getAbsolutePath());
			String newFilePath = "";
			if (fileExts.length > 0) {
				newFilePath += fileExts[0];
			}
			File extFileDir = new File(newFilePath);
			if (!extFileDir.exists()) {
				extFileDir.mkdirs();
			}
			if (fileExts.length > 1) {
				newFilePath += fileExts[1];
			}
			if (fileExts.length > 2) {
				newFilePath += fileExts[2];
			}
			file = new File(newFilePath);
			if (file.exists()) {
				file.delete();
			}
			fos = new FileOutputStream(file);
			bos = new BufferedOutputStream(fos);
			oos = new ObjectOutputStream(bos);
			oos.writeObject(t);
			oos.flush();
		} finally {
			try {
				if (oos != null) {
					oos.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
			try {
				if (bos != null) {
					bos.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
			try {
				if (fos != null) {
					fos.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 反序列化,將字符串轉化為對象
	 * 
	 * @param serStr
	 * @return
	 * @throws Exception
	 */
	public static final <T> T readStrToObject(String serStr) throws Exception {
		return readStrToObject(serStr, "UTF-8");
	}

	/**
	 * 反序列化,將字符串轉化為對象
	 * 
	 * @param serStr
	 * @param charsetName
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public static final <T> T readStrToObject(String serStr, String charsetName) throws Exception {
		if (CheckUtil.isNull(serStr))
			return null;
		T obj = null;
		ObjectInputStream ois = null;
		ByteArrayInputStream bais = null;
		try {
			String redStr = "";
			redStr = java.net.URLDecoder.decode(serStr, charsetName);
			bais = new ByteArrayInputStream(redStr.getBytes("ISO-8859-1"));
			ois = new ObjectInputStream(bais);
			obj = (T) ois.readObject();
		} finally {
			try {
				if (ois != null) {
					ois.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
			try {
				if (bais != null) {
					bais.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return obj;
	}

	// //序列化對象為String字符串,先對序列化后的結果進行BASE64編碼,否則不能直接進行反序列化
	// public static final String writeObject(Object o) throws Exception {
	// ByteArrayOutputStream bos = new ByteArrayOutputStream();
	// ObjectOutputStream oos = new ObjectOutputStream(bos);
	// oos.writeObject(o);
	// oos.flush();
	// oos.close();
	// bos.close();
	// //return new BASE64Encoder().encode(bos.toByteArray());
	// return new String(bos.toByteArray(), "ISO-8859-1");
	// }
	//
	// //反序列化String字符串為對象
	//
	// public static final Object readObject(String object) throws Exception{
	// //ByteArrayInputStream bis = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(object));
	// ByteArrayInputStream bis = new ByteArrayInputStream(object.getBytes("ISO-8859-1"));
	// ObjectInputStream ois = new ObjectInputStream(bis);
	// Object o = null;
	// try {
	// o = ois.readObject();
	// } catch(EOFException e) {
	// System.err.print("read finished");
	// }
	// bis.close();
	// ois.close();
	// return o;
	// }
	/**
	 * 將對象序列化成字符串
	 * 
	 * @param t
	 * @return
	 * @throws Exception
	 */
	public static final <T> String writeObjectToStr(T t) throws Exception {
		if (t == null)
			return null;
		ByteArrayOutputStream baos = null;
		ObjectOutputStream oos = null;
		String serStr = null;
		try {
			baos = new ByteArrayOutputStream();
			oos = new ObjectOutputStream(baos);
			oos.writeObject(t);
			oos.flush();
			baos.flush();
			serStr = baos.toString("ISO-8859-1");
			serStr = java.net.URLEncoder.encode(serStr, "UTF-8");
		} finally {
			oos.close();
			baos.close();
		}
		return serStr == null ? "" : serStr;
	}

	/**
	 * 反序列化,將磁盤文件轉化為對象
	 * 
	 * @param filePath
	 *            文件路徑
	 * @return
	 * @throws Exception
	 */
	public static final <T> T readFileToObject(String filePath) throws Exception {
		if (filePath == null || filePath.trim().equals(""))
			return null;
		File file = new File(filePath);
		return readFileToObject(file);

	}

	/**
	 * 反序列化,將磁盤文件轉化為對象
	 * 
	 * @param file
	 *            文件對象
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public static final <T> T readFileToObject(File file) throws Exception {
		FileInputStream fis = null;
		BufferedInputStream bis = null;
		ObjectInputStream ois = null;
		T obj = null;
		try {
			if (!file.exists())
				return null;
			fis = new FileInputStream(file);
			bis = new BufferedInputStream(fis);
			ois = new ObjectInputStream(bis);
			obj = (T) ois.readObject();
		} finally {
			ois.close();
			bis.close();
			fis.close();
		}
		return obj;

	}

	// readLinesCount
	// -----------------------------------------------------------------------
	public static final long readLinesCount(File file) {
		return readLinesCount(file, null);
	}

	public static final long readLinesCount(File file, String encoding) {
		InputStream in = null;
		try {
			in = FileUtils.openInputStream(file);
			return readLinesCount(in, encoding);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
		}
	}

	public static final long readLinesCount(InputStream input, String encoding) {
		try {
			if (encoding == null) {
				return readLinesCount(input);
			} else {
				InputStreamReader reader = new InputStreamReader(input, encoding);
				return readLinesCount(reader);
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	public static final long readLinesCount(InputStream input) {
		InputStreamReader reader = new InputStreamReader(input);
		return readLinesCount(reader);
	}

	public static final long readLinesCount(Reader input) {
		try {
			long lineNum = 0;
			BufferedReader reader = new BufferedReader(input);
			String line = reader.readLine();
			line = IOUtils.readFirstLine(line);
			while (line != null) {
				lineNum++;
				line = reader.readLine();
			}
			return lineNum;
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	// readString
	/**
	 * 讀取文件內容
	 * 
	 * @param file
	 *            文件對象
	 * @param line
	 *            是否換行(true:換行,false:非換行),默認換行
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(File file) {
		return readString(file, true);
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param file
	 *            文件對象
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(File file, boolean line) {
		return readString(file, null, line);
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param file
	 *            文件對象
	 * @param encoding
	 *            編碼
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(File file, String encoding) {
		return readString(file, encoding, true);
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param file
	 *            文件對象
	 * @param encoding
	 *            編碼
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(File file, String encoding, boolean line) {
		InputStream in = null;
		try {
			in = FileUtils.openInputStream(file);
			return readString(in, encoding, line);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
		}
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param input
	 *            輸入流
	 * @param encoding
	 *            編碼
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(InputStream input, String encoding, boolean line) {
		InputStreamReader reader = null;
		try {
			if (CheckUtil.isNull(encoding)) {
				encoding = "UTF-8";
			}
			// if (encoding == null) {
			// return readString(input, line);
			// } else {
			// reader = new InputStreamReader(input, encoding);
			// return readString(reader, line);
			// }
			reader = new InputStreamReader(input, encoding);
			return readString(reader, line);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(reader);
		}
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param input
	 *            輸入流
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(InputStream input, boolean line) {
		InputStreamReader reader = null;
		try {
			reader = new InputStreamReader(input);
			return readString(reader, line);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(reader);
		}
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param input
	 *            輸入流
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readString(Reader input, boolean line) {
		BufferedReader reader = null;
		try {
			StringBuffer sb = new StringBuffer();
			reader = new BufferedReader(input);
			String lineString = reader.readLine();
			lineString = IOUtils.readFirstLine(lineString);
			if (line) {
				while (lineString != null) {
					if (CheckUtil.isNotNull(sb.toString())) {
						sb.append(IOUtils.LINE_SEPARATOR);
					}
					sb.append(lineString);
					lineString = reader.readLine();
				}
			} else {
				while (lineString != null) {
					sb.append(lineString);
					lineString = reader.readLine();
				}
			}
			return sb.toString();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(reader);
		}
	}

	/**
	 * 
	 * @param file
	 *            文件對象
	 * @param maxLine
	 *            最大行
	 * @return
	 */
	public static final String readLine(File file, long maxLine) {
		return readLine(file, "UTF-8", true, maxLine);
	}

	/**
	 * 
	 * @param file
	 *            文件對象
	 * @param encoding
	 *            編碼
	 * @param maxLine
	 *            最大行
	 * @return
	 */
	public static final String readLine(File file, String encoding, long maxLine) {
		return readLine(file, encoding, true, maxLine);
	}

	/**
	 * 讀取文件內容
	 * 
	 * @param file
	 *            文件對象
	 * @param encoding
	 *            編碼
	 * @param line
	 *            是否換行(true:換行,false:非換行)
	 * @return 文件內容
	 * @throws IOException
	 */
	public static final String readLine(File file, String encoding, boolean line, long maxLine) {
		InputStream in = null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		try {
			StringBuffer sb = new StringBuffer();
			in = FileUtils.openInputStream(file);
			isr = new InputStreamReader(in, encoding);
			br = new BufferedReader(isr);
			// 臨時行數
			long tmpLine = 0;
			String lineString = br.readLine();
			tmpLine++;
			lineString = IOUtils.readFirstLine(lineString);
			if (line) {
				while (lineString != null) {
					if (maxLine > 0 && tmpLine > maxLine) {
						break;
					}
					if (CheckUtil.isNotNull(sb.toString())) {
						sb.append(IOUtils.LINE_SEPARATOR);
					}
					sb.append(lineString);
					lineString = br.readLine();
					tmpLine++;
				}
			} else {
				while (lineString != null) {
					if (maxLine > 0 && tmpLine > maxLine) {
						break;
					}
					sb.append(lineString);
					lineString = br.readLine();
					tmpLine++;
				}
			}
			return sb.toString();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
			IOUtils.closeQuietly(isr);
			IOUtils.closeQuietly(br);
		}
	}
	// readLines
	// -----------------------------------------------------------------------

	public static final <T extends Collection<String>> void readLines(T t, File file) {
		readLines(t, file, null);
	}

	public static final <T extends Collection<String>> void readLines(T t, File file, String encoding) {
		InputStream in = null;
		try {
			in = FileUtils.openInputStream(file);
			readLines(t, in, encoding);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
		}
	}

	public static final <T extends Collection<String>> void readLines(T t, InputStream input, String encoding) {
		try {
			if (encoding == null) {
				readLines(t, input);
			} else {
				InputStreamReader reader = new InputStreamReader(input, encoding);
				readLines(t, reader);
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	public static final <T extends Collection<String>> void readLines(T t, InputStream input) {
		InputStreamReader reader = new InputStreamReader(input);
		readLines(t, reader);
	}

	public static final <T extends Collection<String>> void readLines(T t, Reader input) {
		try {
			Collection<String> coll = getColl(t);
			BufferedReader reader = new BufferedReader(input);
			String line = reader.readLine();
			line = IOUtils.readFirstLine(line);
			while (line != null) {
				coll.add(line);
				line = reader.readLine();
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	// readLinesCountI
	// -----------------------------------------------------------------------
	public static final <T extends Collection<String>> KV<Long, Long> readLinesCountI(File file, ReadLinesCallI<T> call) {
		return readLinesCountI(file, null, call);
	}

	public static final <T extends Collection<String>> KV<Long, Long> readLinesCountI(File file, String encoding, ReadLinesCallI<T> call) {
		InputStream in = null;
		try {
			in = FileUtils.openInputStream(file);
			return readLinesCountI(in, encoding, call);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
		}
	}

	public static final <T extends Collection<String>> KV<Long, Long> readLinesCountI(InputStream input, String encoding, ReadLinesCallI<T> call) {
		try {
			if (encoding == null) {
				return readLinesCountI(input, call);
			} else {
				InputStreamReader reader = new InputStreamReader(input, encoding);
				return readLinesCountI(reader, call);
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	public static final <T extends Collection<String>> KV<Long, Long> readLinesCountI(InputStream input, ReadLinesCallI<T> call) {
		InputStreamReader reader = new InputStreamReader(input);
		return readLinesCountI(reader, call);
	}

	/**
	 * 讀取大文件
	 * 
	 * @param input
	 *            輸入流
	 * @param call
	 *            回調
	 * @return {@code KV<總行數,實際行數>}
	 * @throws IOException
	 */
	public static final <T extends Collection<String>> KV<Long, Long> readLinesCountI(Reader input, ReadLinesCallI<T> call) {
		long totalLineNum = 0;
		long lineNum = 0;
		try {
			BufferedReader reader = new BufferedReader(input);
			String line = reader.readLine();
			line = IOUtils.readFirstLine(line);
			long startLineNum = call.getStartLineNum();
			long endLineNum = call.getEndLineNum();
			String linePrev = null;
			String lineNext = null;
			boolean first = true;
			while (line != null) {
				totalLineNum++;
				if (first) {
					// 這里只讀取一次
					// 讀取下下一行
					lineNext = reader.readLine();
					first = false;
				}
				// 是否中斷
				if (call.interrupt(linePrev, line, lineNext, totalLineNum)) {
					break;
				}
				if (startLineNum <= totalLineNum && (endLineNum <= 0 || endLineNum >= totalLineNum)) {
					// 開始/結束行區間數據
					KV<String, Boolean> kv = call.changeLine(linePrev, line, lineNext, totalLineNum);
					if (kv != null) {
						line = kv.getK();
						boolean filter = kv.getV();
						// 是否過慮
						if (filter) {
							lineNum++;
						}
					}
				}
				// 賦值上一行
				linePrev = line;
				// 讀取下一行
				line = lineNext;
				if (line != null) {
					// 讀取下下一行
					lineNext = reader.readLine();
				}
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
		return KV.with(totalLineNum, lineNum);
	}

	// readLinesI
	// -----------------------------------------------------------------------
	public static final <T extends Collection<String>> T readLinesI(File file, ReadLinesCallI<T> call) {
		return readLinesI(file, null, call);
	}

	public static final <T extends Collection<String>> T readLinesI(File file, String encoding, ReadLinesCallI<T> call) {
		InputStream in = null;
		try {
			in = FileUtils.openInputStream(file);
			return readLinesI(in, encoding, call);
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			IOUtils.closeQuietly(in);
		}
	}

	public static final <T extends Collection<String>> T readLinesI(InputStream input, String encoding, ReadLinesCallI<T> call) {
		try {
			if (encoding == null) {
				return readLinesI(input, call);
			} else {
				InputStreamReader reader = new InputStreamReader(input, encoding);
				return readLinesI(reader, call);
			}
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	public static final <T extends Collection<String>> T readLinesI(InputStream input, ReadLinesCallI<T> call) {
		InputStreamReader reader = new InputStreamReader(input);
		return readLinesI(reader, call);
	}

	/**
	 * 把文件中每一行設置到集合中(never return null)
	 * 
	 * @param input
	 * @param call
	 * @return
	 * @throws IOException
	 */
	@SuppressWarnings("unchecked")
	public static final <T extends Collection<String>> T readLinesI(Reader input, ReadLinesCallI<T> call) {
		try {
			T t = call.getObj();
			Collection<String> coll = getColl(t);
			BufferedReader reader = new BufferedReader(input);
			String line = reader.readLine();
			line = IOUtils.readFirstLine(line);
			long startLineNum = call.getStartLineNum();
			long endLineNum = call.getEndLineNum();
			long totalLineNum = 0;
			String linePrev = null;
			String lineNext = null;
			boolean first = true;
			while (line != null) {
				totalLineNum++;
				if (first) {
					// 這里只讀取一次
					// 讀取下下一行
					lineNext = reader.readLine();
					first = false;
				}
				// 是否中斷
				if (call.interrupt(linePrev, line, lineNext, totalLineNum)) {
					break;
				}
				if (startLineNum <= totalLineNum && (endLineNum <= 0 || endLineNum >= totalLineNum)) {
					// 開始/結束行區間數據
					KV<String, Boolean> kv = call.changeLine(linePrev, line, lineNext, totalLineNum);
					if (kv != null) {
						line = kv.getK();
						boolean filter = kv.getV();
						// 是否過慮
						if (filter) {
							coll.add(line);
						}
					}
				}
				// 賦值上一行
				linePrev = line;
				// 讀取下一行
				line = lineNext;
				if (line != null) {
					// 讀取下下一行
					lineNext = reader.readLine();
				}
			}
			return (T) coll;
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	// readLinesBatchI
	// -----------------------------------------------------------------------
	public static final <T extends Collection<String>> List<T> readLinesBatchI(File file, ReadLinesCallI<T> call, ReadLinesBatchCallI<T> batchI) {
		return readLinesBatchI(file, null, call, batchI);
	}

	/**
	 * 把文件中每一行設置到批量集合中(never return null)
	 * 
	 * @param file
	 * @param encoding
	 * @param call
	 * @param batchI
	 * @return
	 * @throws IOException
	 */
	public static final <T extends Collection<String>> List<T> readLinesBatchI(File file, String encoding, ReadLinesCallI<T> call, ReadLinesBatchCallI<T> batchI) {
		List<T> lists = new ArrayList<T>();
		// 獲取總數
		KV<Long, Long> kv = readLinesCountI(file, call);
		long size = kv.getV();
		if (size > 0) {
			long start = System.currentTimeMillis();
			long batchSize = batchI.getBatchSize();
			if (batchSize > 1) {
				long preNum = size / batchSize;
				long modNum = size % batchSize;
				// 100/10=10
				for (long i = 1; i <= preNum; i++) {
					call.setStartLineNum((i - 1) * batchSize + 1);
					call.setEndLineNum(i * batchSize);
					setBatchCollI(file, encoding, call, batchI, lists);
				}
				if (modNum == 0) {
				} else {
					// 11/3=3...2
					// 設置剩余的量
					call.setStartLineNum(preNum * batchSize + 1);
					call.setEndLineNum(size);
					setBatchCollI(file, encoding, call, batchI, lists);
				}
			} else {
				setBatchCollI(file, encoding, call, batchI, lists);
			}
			long end = System.currentTimeMillis();
			long x = (end - start) / 1000;
			long y = (end - start) % 1000;
			logger.debug("全部讀取完畢...,總執行時間:" + (end - start) + "毫秒," + x + "." + (y < 100 ? "0" + y : y) + "秒");
		}
		return lists;
	}

	/**
	 * 批量設置集合
	 * 
	 * @param file
	 * @param encoding
	 * @param call
	 * @param batchI
	 * @param lists
	 * @throws IOException
	 */
	private static <T extends Collection<String>> void setBatchCollI(File file, String encoding, ReadLinesCallI<T> call, ReadLinesBatchCallI<T> batchI, List<T> lists) {
		logger.debug("正在讀取..." + (call.getEndLineNum() <= 0 ? "全部數據" : "[" + call.getStartLineNum() + "-" + call.getEndLineNum() + "]行數據"));
		long start = System.currentTimeMillis();
		T t = readLinesI(file, encoding, call);
		if (batchI.isCallBatchColl()) {
			batchI.callBatchColl(t);
		} else {
			lists.add(t);
		}
		long end = System.currentTimeMillis();
		long x = (end - start) / 1000;
		long y = (end - start) % 1000;
		logger.debug("讀取完畢..." + (call.getEndLineNum() <= 0 ? "全部數據" : "[" + call.getStartLineNum() + "-" + call.getEndLineNum() + "]行數據") + ",執行時間:" + (end - start) + "毫秒," + x + "." + (y < 100 ? "0" + y : y) + "秒");
	}

	/**
	 * 獲取對應的集合類型
	 * 
	 * @param t
	 * @return
	 * @throws IOException
	 */
	private static <T extends Collection<String>> Collection<String> getColl(T t) {
		Collection<String> coll = null;
		if (t instanceof List) {
			coll = (List<String>) t;
		} else if (t instanceof Set) {
			coll = (Set<String>) t;
		} else {
			throw new ServiceException("不支持的返回類型" + t);
		}
		return coll;
	}

	/**
	 * 查找沖突jar包
	 * 
	 * @param path
	 *            所要查找的JAR包的目錄
	 * @param className
	 *            要查詢的class,要帶包名的類名
	 * @return
	 */
	public static final List<String> findClassConflictJar(String path, String className) {
		List<String> results = new ArrayList<String>();
		className = className.replace('.', '/') + ".class";
		findClassConflictJar(path, className, results);
		return results;
	}

	/**
	 * 查找沖突jar包
	 * 
	 * @param path
	 *            所要查找的JAR包的目錄
	 * @param className
	 *            要查詢的class,要帶包名的類名
	 * @param results
	 *            沖突的jar文件路徑集合
	 */
	private static final void findClassConflictJar(String path, String className, List<String> results) {
		path = changePathSeparator(path, ConstantForEnum.ChangePathLastSeparator.ADD_AFTER);
		File file = new File(path);
		if (!file.exists()) {
			logger.warn("文件[" + file.getAbsolutePath() + "]不存在");
			return;
		}
		if (file.isFile()) {
			logger.warn("文件[" + file.getAbsolutePath() + "]不是目錄,強制返回結果");
			return;
		}
		String[] filelist = file.list();
		if (filelist == null) {
			logger.warn("文件[" + file.getAbsolutePath() + "]中沒有任何文件,強制返回結果");
			return;
		}
		for (int i = 0; i < filelist.length; i++) {
			String filePath = filelist[i];
			File temp = new File(path + filePath);
			// if ((temp.isDirectory() && !temp.isHidden() && temp.exists())) {
			if (temp.isDirectory()) {
				findClassConflictJar(path + filePath, className, results);
			} else {
				if (filePath.toLowerCase().endsWith("jar")) {
					try {
						java.util.jar.JarFile jarfile = new java.util.jar.JarFile(path + filePath);
						for (Enumeration<JarEntry> e = jarfile.entries(); e.hasMoreElements();) {
							String name = e.nextElement().toString();
							if (name.equals(className) || name.indexOf(className) > -1) {
								// System.out.println(path + filePath);
								results.add(path + filePath);
							}
							jarfile.close();
						}
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}
		}
	}

	// /**
	// * 查找沖突jar包
	// *
	// * @param objPath
	// * jar文件或目錄對象
	// * @param jarClass
	// * 每個jar路徑對應的class集合
	// * @param classResult
	// * 所有class(包路徑)對應的jar文件路徑
	// * @param conflictClass
	// * 沖突class(包路徑)對應的jar文件路徑
	// */
	// @SuppressWarnings("unchecked")
	// public static final void findJarConflictClass(Object objPath, Map<String, Set<JarClass>> jarClassResult, Map<String, Set<String>> classResult, Map<String, Set<String>> conflictResult) {
	@SuppressWarnings("unchecked")
	public static final void findJarConflictClass(JarParams params) {
		Collection<String> values = null;
		Object objPath = params.getObjPath();
		if (CheckUtil.isNull(objPath)) {
			// 如果沒有設置objPath,則默認path為objPath值
			objPath = params.getPath();
		}
		if (objPath instanceof String) {
			// 此處不會被執行
			values = new HashSet<String>();
			values.add(String.valueOf(objPath));
		} else if (objPath instanceof Collection) {
			values = ((Collection<String>) objPath);
		} else if (objPath instanceof String[]) {
			values = Arrays.asList((String[]) objPath);
		}
		if (values == null || values.size() == 0) {
			logger.warn("jar文件或目錄對象數據格式不正確");
			return;
		}
		// 循環寫
		Iterator<String> it = values.iterator();
		while (it.hasNext()) {
			// doFindJarConflictClass(it.next(), jarClassResult, classResult, conflictResult);
			// 設置path值
			params.setPath(it.next());
			doFindJarConflictClass(params);
		}
	}

	// /**
	// * 查找沖突jar包
	// *
	// * @param path
	// * jar文件或目錄路徑
	// * @param jarClass
	// * 每個jar路徑對應的class集合
	// * @param classResult
	// * 所有class(包路徑)對應的jar文件路徑
	// * @param conflictClass
	// * 沖突class(包路徑)對應的jar文件路徑
	// */
	// public static final void findJarConflictClass(String path, Map<String, Set<JarClass>> jarClassResult, Map<String, Set<String>> classResult, Map<String, Set<String>> conflictResult) {
	private static final void doFindJarConflictClass(final JarParams params) {
		final String path = changePathSeparator(params.getPath(), ConstantForEnum.ChangePathLastSeparator.ADD_AFTER);
		final Map<String, Set<JarClass>> jarClassResult = params.getJarClassResult();
		final Map<String, Set<String>> classResult = params.getClassResult();
		final Map<String, Set<String>> conflictResult = params.getConflictResult();
		File file = new File(path);
		if (!file.exists()) {
			logger.warn("文件[" + file.getAbsolutePath() + "]不存在");
			return;
		}
		if (file.isFile()) {
			logger.warn("文件[" + file.getAbsolutePath() + "]不是目錄,強制返回結果");
			return;
		}
		final String[] filelist = file.list(new FilenameFilter() {
			@Override
			public boolean accept(File dir, String name) {
				// System.out.println(dir + "," + name + "," + FilenameUtils.getExtension(name));
				String extension = FilenameUtils.getExtension(name);
				if (CheckUtil.isNotNull(extension)) {
					if ("jar".equals(extension.toLowerCase())) {
						return true;
					}
				}
				return false;
			}
		});
		if (filelist == null || filelist.length == 0) {
			logger.warn("文件[" + file.getAbsolutePath() + "]中沒有任何文件,強制返回結果");
			return;
		}
		for (int i = 0; i < filelist.length; i++) {
			final String filePath = filelist[i];
			doJarClass(params, path, jarClassResult, classResult, conflictResult, filePath);
		}
	}

	/**
	 * 處理jar中的class
	 * 
	 * @param params
	 * @param path
	 * @param jarClassResult
	 * @param classResult
	 * @param conflictResult
	 * @param filePath
	 */
	private static final void doJarClass(final JarParams params, final String path, final Map<String, Set<JarClass>> jarClassResult, final Map<String, Set<String>> classResult, final Map<String, Set<String>> conflictResult, final String filePath) {
		File temp = new File(path + filePath);
		// if ((temp.isDirectory() && !temp.isHidden() && temp.exists())) {
		if (temp.isDirectory()) {
			// findJarConflictClass(path + filePath, jarClassResult, conflictResult, classResult);
			doFindJarConflictClass(params);
		} else {
			try {
				String jarPath = changePathSeparator(path + filePath);
				// System.out.println(jarPath);
				Set<JarClass> jarClasss = null;
				// 可以為null
				if (jarClassResult != null) {
					jarClasss = jarClassResult.get(jarPath);
					if (jarClasss == null) {
						// 不存在
						jarClasss = new HashSet<JarClass>();
						jarClassResult.put(jarPath, jarClasss);
					}
				}
				java.util.jar.JarFile jarfile = new java.util.jar.JarFile(path + filePath);
				for (Enumeration<JarEntry> e = jarfile.entries(); e.hasMoreElements();) {
					// 獲取jar文件
					String classPath = e.nextElement().toString();
					String extension = FilenameUtils.getExtension(classPath);
					String fullPath = jarPath + "!" + classPath;
					// 是否是class文件
					if ("class".equals(extension.toLowerCase())) {
						// 轉換為class包
						int index = classPath.lastIndexOf(".");
						String prefixClassName = classPath;
						if (index > -1) {
							prefixClassName = classPath.substring(0, index);
						}
						String className = prefixClassName.replaceAll("/", ".");
						// 添加class
						Set<String> classJars = classResult.get(className);
						if (classJars == null) {
							classJars = new HashSet<String>();
							classResult.put(className, classJars);
						} else {
							// 沖突了
							Set<String> classConflictJars = conflictResult.get(className);
							if (classConflictJars == null) {
								classConflictJars = new HashSet<String>();
								conflictResult.put(className, classConflictJars);
							}
							// 添加jar文件(會自動去重)
							classConflictJars.add(jarPath);
							// 添加沖突的class對應的所有jar文件路徑
							classConflictJars.addAll(classJars);
						}
						classJars.add(jarPath);
						if (jarClasss != null) {
							JarClass jarClass = new JarClass();
							// 設置jar屬性
							jarClass.setFileDir(path);
							jarClass.setClassPath(classPath);
							jarClass.setClassName(className);
							jarClass.setFullPath(fullPath);
							jarClasss.add(jarClass);
						}
					} else {
						logger.debug("文件[" + fullPath + "]不是class文件,繼續查找");
					}
				}
				jarfile.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 寫文件
	 * 
	 * @param filePath
	 *            文件路徑
	 * @param content
	 *            文件內容
	 * @throws IOException
	 */
	public static final void write(String filePath, String content) {
		write(new File(filePath), content, "UTF-8");
	}

	/**
	 * 寫文件
	 * 
	 * @param filePath
	 *            文件路徑
	 * @param content
	 *            文件內容
	 * @param encoding
	 *            編碼
	 * @throws IOException
	 */
	public static final void write(String filePath, String content, String encoding) {
		write(new File(filePath), content, encoding);
	}

	/**
	 * 寫文件
	 * 
	 * @param filePath
	 *            文件對象
	 * @param content
	 *            文件內容
	 * @throws IOException
	 */
	public static final void write(File file, String content) {
		write(file, content, null);
	}

	/**
	 * 寫文件
	 * 
	 * @param filePath
	 *            文件對象
	 * @param content
	 *            文件內容
	 * @param encoding
	 *            編碼
	 * @throws IOException
	 */
	public static final void write(File file, String content, String encoding) {
		try {
			createFolderOrFile(file, false);
			if (file == null)
				return;
			if (CheckUtil.isNull(content)) {
				content = "";
			}
			if (CheckUtil.isNull(encoding)) {
				encoding = "UTF-8";
			}
			BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
			OutputStreamWriter writer = new OutputStreamWriter(bos, encoding);
			writer.write(content);
			writer.flush();
			writer.close();
		} catch (Exception e) {
			throw new ServiceException(e);
		}
	}

	/**
	 * 寫文件
	 * 
	 * @param content
	 *            文件字節內容
	 * @param encoding
	 *            編碼
	 * @throws IOException
	 */
	public static void write(byte[] content, File outFile) {
		FileOutputStream fout = null;
		try {
			createFolderOrFile(outFile);
			fout = new FileOutputStream(outFile);
			fout.write(content);
			fout.flush();
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			if (fout != null) {
				try {
					fout.close();
				} catch (Exception e2) {
				}
			}
		}
	}

	/**
	 * 將圖片文件轉化為字節數組字符串,并對其進行Base64編碼處理
	 * 
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 頁面地址
	 */
	public static final String GetImageStr(String imgFilePath) {
		byte[] data = null;
		BufferedInputStream bis = null;
		// 讀取圖片字節數組
		try {
			bis = new BufferedInputStream(new FileInputStream(imgFilePath));
			data = new byte[bis.available()];
			bis.read(data);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (bis != null) {
				try {
					bis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		// 對字節數組Base64編碼
		BASE64Encoder encoder = new BASE64Encoder();
		// 返回Base64編碼過的字節數組字符串
		return encoder.encode(data);
	}

	/**
	 * 對字節數組字符串進行Base64解碼并生成圖片
	 * 
	 * @author 張軍
	 * @date 2015-11-03 21:59:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 頁面地址
	 */
	public static final boolean GenerateImage(String imgStr, String imgFilePath) {
		// 圖像數據為空
		if (imgStr == null)
			return false;
		if (imgStr.indexOf("data:image/jpeg;base64,") != -1) {
			imgStr = imgStr.substring("data:image/jpeg;base64,".length());
		}
		BASE64Decoder decoder = new BASE64Decoder();
		BufferedOutputStream bos = null;
		try {
			// Base64解碼
			byte[] bytes = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < bytes.length; ++i) {
				if (bytes[i] < 0) {// 調整異常數據
					bytes[i] += 256;
				}
			}
			// 生成jpeg圖片
			bos = new BufferedOutputStream(new FileOutputStream(imgFilePath));
			bos.write(bytes);
			bos.flush();
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {
			if (bos != null) {
				try {
					bos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}



更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色与欲影视天天看综合网 | 男男19禁啪啪无遮挡免费 | 亚洲欧洲精品成人久久av18 | 伊人天天久大香线蕉av色 | 午夜精品在线免费观看 | 波多野结衣av无码久久一区 | 国产无遮挡一区二区三区毛片日本 | 亚洲日本中文字幕乱码中文 | 久久无码中文字幕免费影院 | 日韩欧美一区二区精品 | 欧美第一福利 | 人乳奶水videos喷奶水 | 99精品久久久久久久久久综合 | 一本色道av久久精品+ | 999国产精品亚洲77777 | 一区二区视频观看 | 四虎最新在线观看地址 | 日韩网站在线 | 国产精品嫩草影院精东 | 中国国产免费毛卡片 | 最新亚洲一卡二卡三卡四卡 | 综合av一区 | 337p日本欧洲亚洲大胆精筑 | 好爽好紧清纯在线观看 | 你懂的在线观看网站 | 中文天堂在线资源 | 一级特黄色毛片 | 中文字幕一区二区人妻电影 | 大肉大捧一进一出视频出来呀 | www.成人国产| 欧美另类精品xxxx人妖 | 成人午夜黄色 | 日韩欧美一卡二卡三卡 | 亚洲激情小视频 | 国产亚洲精品久久久久久禁果tv | 曰本女人牲交高潮视频 | 欧美丰满美乳xxx高潮www | 无码综合天天久久综合网色吧影院 | 丁香五月综合久久激情 | 午夜免费啪 | 天堂av日韩| 日韩在线观看 | 日韩欧美成人一区 | h肉动漫无码无修6080动漫网 | 午夜福利伦伦电影理论片在线观看 | 三级毛片在线看 | 自拍偷窥第一页 | 一级黄色片中国 | 黄色av免费在线 | 人妻有码精品视频在线 | 国产在线播放一区 | 欧美成人午夜视频 | 午夜福利09不卡片在线机视频 | 女人被弄到高潮的免费视频 | 欧美大片18禁aaa片免费 | 曰韩人妻无码一区二区三区综合部 | 国产妇女性爽视频 | 欧美bbbbbbbbbbbb片| 久久成年片色大黄全免费网站 | 国产精品尤物麻豆一区二区三区 | 国产成人亚洲精品无码蜜芽 | 亚洲第一黄色网址 | 欧美aⅴ视频 | 夜鲁很鲁在线视频 | 18禁免费吃奶摸下激烈视频 | 最近日本中文字幕 | 国产后进白嫩翘臀在线播放 | 亚洲第一大网站 | 欧美中日韩在线 | 免费夜色污私人影院在线观看 | 免费看成人aa片无码视频 | 精品国产一区二区三区四区vr | 欧洲免费无码视频在线 | 影音先锋中文字幕无码 | 国产精品毛片一区二区在线看 | 太平公主秘史在线观看免费 | 色偷偷亚洲男人的天堂 | 色婷婷五月在线精品视频 | 操亚洲女人 | 免费的性生活视频 | 日韩欧美区| 无码人妻丰满熟妇区毛片 | 日韩人妻无码精品专区 | 国产乱对白刺激视频 | 久久久久久无码精品人妻a片软件 | 中日韩中文字幕区 | 国产精品亚洲精品日韩已满 | 中国少妇hd | 99精品无人区乱码在线观看 | 岛国av免费| 国产一级中文字幕 | 国产极品车模吞精高潮呻吟 | 一本大道a69 | 日韩欧美中文字幕一区二区 | 红桃视频一区 | 少妇三级全黄在线播放 | 综合av在线播放 | 久久99久久98精品免观看软件 | 久久久久久久综合日本 | 萌白酱一区二区 | 欧美全免费aaaaaa特黄在线 | av青青| 国产女人被狂躁到高潮小说 | 国产一区在线不卡 | 新久草在线视频 | 国产麻豆剧传媒精品av | 成人精品亚洲人成在线 | eeuss鲁片一区二区三区在线观看 | 成人国产片女人爽到高潮 | 成人嫩草研究院久久久精品 | 色婷婷激婷婷深爱五月 | 50岁熟妇的呻吟声对白 | 黄色三级在线视频 | 色欲色av免费观看 | 夜色在线视频 | 女人a级毛片 | 日本在线a一区视频 | 色在线综合 | 免费在线日韩av | 噼里啪啦免费观看高清动漫 | 偷国内自拍视频在线观看 | 91丝袜超薄交口足 | 97资源共享在线视频 | 欧美日韩网站 | 狠狠精品久久久无码中文字幕 | 爱情岛论坛自拍亚洲品质极速福利 | 欧美午夜一区二区三区精美视频 | 日本韩国在线 | 午夜国产精品视频 | 少妇肥臀大白屁股高清 | 国产欧美国日产在线播放 | www国产亚洲精品久久麻豆 | 豆国产95在线 | 亚洲 | 亚洲 欧洲 日韩 综合二区 | 露脸啪啪清纯大学生美女 | 放荡闺蜜高h苏桃情事h | 国内精品久久精品中文久久婷婷 | 91瑟瑟| 97免费人妻在线视频 | 日韩精品人妻无码久久影院 | 人成午夜大片免费视频77777 | tickle双乳美女一丨vk | 国产亚洲精品久久久玫瑰 | 久久成人激情 | 无尽夜久久久久久久久久 | av一区二区免费 | 国产熟女一区二区三区五月婷 | a在线观看免费网站大全 | 亚洲 欧美 影音先锋 | 天躁狠狠躁 | 狼人社区91国产精品 | mm31美女爽爽爽爱做视频vr | 亚洲欧美日韩另类精品一区二区三区 | 久久爽精品区穿丝袜 | 亚洲人成77777在线播放网站不卡 | 婷婷性多多影院 | 日本午夜精品一区二区三区电影 | 人人摸人人搞人人透 | 久久综合九色综合欧美98 | 日韩欧美一级视频 | 热思思99re久久精品国产首页 | 日本手机看片 | 日本美女动态图 | 精品国产天堂综合一区在线 | 呻吟国产av久久一区二区 | 亚洲天堂av线 | 午夜精品久久久久久99热软件 | 午夜人妻理论片天堂影院 | 九九视频精品在线观看 | 男女又爽又黄视频 | 国产成人av一区二区三区无码 | 亚洲欧美色视频 | 欧美激情91 | av人与动物| 国产寡妇偷人在线观看 | 亚洲女人被黑人巨大进入 | 欧美浮力第一页 | 少妇高潮久久久久久潘金莲 | 九九99久久精品在免费线18 | www国产无套内射com | 老司机福利精品 | 亚洲人午夜射精精品日韩 | 国产香蕉尹人在线观看视频 | 国产黑色丝袜在线观看下 | av网站天堂 | 欧美成人午夜一区二区三区 | 99久久国产自偷自偷免费一区 | 日韩一区二区免费播放 | 欧美亚洲精品一区二区三区 | 亚洲欧美日韩中字视频三区 | 国产一区二区视频网站 | 13小箩利洗澡无码视频网站 | 视频一区国产精品 | 欧美性猛交xxxx免费看久久 | 人妻系列无码一区二区三区 | 午夜一区二区国产好的精华液 | 亚洲精品永久入口 | jizz黄色片| 亚洲欧美色国产综合 | 456欧美成人免费视频 | 国精品人妻无码一区免费视频电影 | 亚洲成av人不卡无码影片 | 日日噜噜噜夜夜狠狠久久蜜桃 | 国产黄色在线免费看 | 亚洲天天在线 | 国产成人av综合亚洲色欲 | 91不戴套国语对白在线观看 | 亚洲精欧美一区二区精品 | 国产真实乱偷精品视频免 | 亚洲精品久久网白云av | 午夜神马久久 | 女人爽到高潮免费视频大全 | 狠狠色伊人亚洲综合成人 | 国产又粗又猛大又黄又爽 | 国产乱子伦精品无码专区 | 丝袜 国产 日韩 另类 美女 | 精品国产aⅴ麻豆 | 欧美 亚洲 一区 | 精品无码一区二区三区av | 美女极度色诱视频国产 | 91高清国产 | 亚洲一区自拍偷拍 | 日本国产免费 | 韩国精品久久久久久无码 | 免费黄色片视频 | 四川少妇xxx奶大xxx | 国产手机看片 | 国产欧美va天堂在线观看视频下载 | 国产精品国产三级在线... | 久久精品熟女亚州av麻豆 | 女性女同性aⅴ免费观女性恋 | 国产91在线播放 | 又粗又大又黄又硬又爽免费看 | 毛片手机在线观看 | 少妇高潮久久久久久软件 | 秋霞一区二区 | 国产成人无码免费网站 | 免费观看18禁无遮挡真人网站 | 久久99国产精一区二区三区 | 中文字幕乱码亚洲∧v日本 成在人线av无码免费高潮水老板 | 久章草国语自产拍在线观看 | 欧美a级在线 | 日韩人妻无码中文字幕视频 | 99久久精品毛片免费播放高潮 | 在线观看网站av | 国产美女啪啪 | 9久9久9久女女女九九九一九 | 亚洲日本网站 | 亚洲精品乱码久久久久v最新版 | 丁香欧美| 自拍黄色片 | 自拍偷拍欧美视频 | 亚洲免费综合 | 国产成人精品一区二区3 | 亚洲孰妇无码av在线播放 | 欧美精品一区二区三区久久久竹菊 | 人人草97| 色偷偷女人的天堂亚洲网 | 成 人 黄 色 视频免费播放 | 国产成人综合欧美精品久久 | 蜜臀av性色av | 午夜剧场免费视频 | 最新中文字幕av无码专区 | 国产av福利久久 | 欧美性色网| 亚洲欧洲成人精品av97 | 国产精品线路一线路二 | 亚洲午夜精品久久久久久app | 国产老头和老太xxxxx视频 | 91 在线 | 国产又黄又粗又硬又爽又猛的视频 | 美女国产免费 | 国产毛片一区二区三区 | 国产成人av在线桃花岛 | 日本高清不卡二区 | 国产亚洲香蕉线播放αv38 | 亚洲第一福利网站 | 天天躁日日躁狠狠躁人妻 | 日本肉体xxxx裸体784大胆 | 亚洲欧美成人片在线观看 | av男人的天堂在线观看 | 国产精品偷伦视频免费还看旳 | 无码人妻品一区二区三区精99 | 波多野结衣在线观看一码 | 久久人体视频 | 亚洲国产欧美国产综合久久 | 无码成人一区二区 | 偷偷草网站 | 韩国三级在线 中文字幕 无码 | 四虎影院成人 | 亚洲国产精品一区二区久久 | 天天爱天天做天天爽 | 天堂av色综合久久天堂我不卡 | 日本一上一下爱爱免费 | 草裙社区精品视频三区免费看 | 狠狠色狠狠色88综合日日91 | 欧美视频在线免费看 | 福利社黄色| 成人无号精品一区二区三区 | 秋霞影院午夜伦a片欧美 | 成人免费无码视频在线网站 | 成人黄色免费在线观看 | 久久久少妇 | 欧美片网站免费 | www.av网址 | 黄色片视频在线免费观看 | 久久久无码精品亚洲日韩精东传媒 | 久草视频播放 | 男人撒尿视频免费网站 | 欧美精品第20页 | 少妇av | 91大神免费视频 | 国内精品久久久久久久coent | 97影院理论午夜伦不卡 | 天天干天天日 | 免费一区在线观看 | 免费乱理伦片在线观看夜 | 免费999精品国产自在现线 | 国产精品门事件av | 狠狠干快播 | 人人天天夜夜 | 成人情侣激情偷拍视频 | 欧美大胆a级 | 少妇丰满日韩偷拍欧美 | 亚洲国产色婷婷 | 午夜在线网址 | 亚洲男人天堂影院 | 亚洲老子午夜电影理论 | 伊人青 | 日日夜夜91 | 亚洲国产美国国产综合一区二区 | 美女无遮挡免费网站 | 国产破外女出血视频 | 国产又粗又猛又黄又爽视频 | 天天上天天添天天爱少妇 | 欧美成人久久久免费播放 | 无码专区—va亚洲v天堂 | 激情五月在线 | 伊人精品久久久久7777 | 日韩 国产 变态另类 欧美 | 午夜性爽视频男人的天堂 | 亚洲日韩高清在线亚洲专区 | 做爰丰满少妇1313 | 性欧美8khd高清极品 | 妹子色综合| 黄色国产在线 | 热99re久久精品这里都是精品 | 亚洲国产女人aaa毛片在线动漫 | 欧美成 人 在线播放视频 | 国产午夜福利片1000无码 | 人人天天夜夜 | 亚洲欧美色一区二区三区 | 台湾一级特黄aa大片免费看 | 四虎影库永久地址 | 成人毛片免费网站 | 久热草精品 | 久久九九有精品国产23百花影院 | 97久人人做人人妻人人玩精品 | 亚洲美女屁股眼交2 | 五月婷婷激情综合网 | 黄色网日本 | 免费观看萌白酱一区二区三区 | 国产精品国产自线拍免费软件 | 亚洲国产精品无码久久秋霞 | 天天曰天天操 | 无遮挡国产 | 成人影片一区免费观看 | 综合啪啪 | 国产成人午夜 | 九九热免费精品 | 无码国产乱人伦偷精品视频 | 国产精品久久久久久久久久免费 | 亚洲成av人片在线观看无码 | 欧美一级在线 | 国产盗摄av| 毛片免费全部无码播放 | 久久九九久精品国产88 | 亚洲乱码尤物193yw最新网站 | 国产av无码专区亚洲a√ | 国产精品爽爽爽爽爽爽在线观看 | 久久人人爽人人爽人人片dvd | 欧美日韩国产精品一区二区 | 99国产精品久久久久久久夜 | 国产交换配乱淫视频α | 日女人逼逼 | 国产青青| 72pao成人国产永久免费视频 | 婷婷午夜天 | 亚洲国产成人va在线观看天堂 | 国产第一页在线播放 | 色xx综合网 | 亚洲成a人片77777国产 | 国产午夜福利小视频合集 | 久草影视网 | 久热爱精品视频在线9 | 国产精品久久久久久久9999 | 四虎成人永久在线精品免费 | 91视频 - 88av | 国产日产精品一区二区三区四区 | 国产精品久久久久久久久久久久冷 | 国产精品亚洲一区二区三区天天看 | 日韩精品久久久久久 | 999热精品视频 | 8x国产精品视频 | av2014天堂 | 亚洲欧洲综合在线 | 牛牛av | 俄罗斯大胆少妇bbw 亚欧成人中文字幕一区 | 在线精品亚洲一区二区 | 无码人妻精品一区二区蜜桃色欲 | 成人av鲁丝片一区二区免费 | 蜜臀久久av | 欧美亚洲成人网 | 亚洲国产经典 | 欧美日激情日韩精品嗯 | 一级全黄色片 | 国产精品天干天干在线综合 | a男人的天堂久久a毛片 | 色妞www精品视频二 狠狠插网 | 麻豆国产丝袜白领秘书在线观看 | 99久久无码一区人妻 | 性丰满白嫩白嫩的hd124 | 亚洲综合在线五月 | 久久国内精品自在自线波多野结氏 | 无码熟妇人妻av在线影片免费 | 青青草手机在线观看 | 无遮挡又黄又刺激又爽的视频 | 国产喷水吹潮在线播放91 | 看片一区 | 精品久久人人爽天天玩人人妻 | 欧美精品成人久久 | 手机看av片| 日本久久久www成人免费毛片丨 | 欧美人与物videos另类xxxxx | 色妞www精品视频 | 麻豆乱码国产一区二区三区 | 玖玖在线 | 国产下药迷倒白嫩美女网站 | 欧美三区 | 欧美一区二区三区久久综 | 欧美成人va | 99热香蕉| 亚洲福利天堂 | 亚洲一区二区在线看 | 国产jjzzjjzz视频全部免费 | 97精品一区二区三区 | 色香色香欲天天天影视综合网 | 天天干天天摸 | 中文字幕网址 | 北条麻妃一区二区三区在线观看 | 国产小视频一区 | 性一交一乱一伦一色一情孩交 | av片国产 | 久操视频在线免费观看 | 亚洲人成电影在线播放 | 国产内射老熟女aaaa∵ | 51调教丨国产调教视频 | 欧美高清一区三区在线专区 | 97碰视频| 国产av丝袜一区二区三区 | 国产又色又爽又黄刺激的视频 | 99re6热在线精品视频播放 | 岛国激情片 | 高清自拍亚洲精品二区 | 欧美日本道 | 久久久精品91 | 成人青青草 | www.av视频| 国产精品人人爽人人爽 | 天天爽天天狠久久久综合麻豆 | 国产对白农村老女人性视频对话 | 欧美巨大黑人精品一.二.三 | 午夜国产免费 | 藏春阁福利视频 | 亚洲乱码日产精品bd在线看 | 亚洲欧美精品水蜜桃 | 天堂在线www天堂在线 | 黄色免费在线网址 | 久久精品欧美一区二区三区不卡 | 一区二区三区影院 | 日韩卡二卡三卡四卡永久入口 | 日本另类视频 | 乱码精品国产成人观看免费 | 茄子成人看a∨片免费软件 两人做人爱费视频午夜 | 国产肉体ⅹxxx137大胆 | 麻豆国产成人av在线播放 | 亚洲伊人五月丁香激情 | 偷窥自拍欧美 | 狠狠色噜噜狠狠狠狠色综合久av | 亚洲女人体内精汇编 | 国产女人高潮抽搐喷水免费视频 | 久久理伦片琪琪电影院 | 久久精品国产69国产精品亚洲 | 精品免费一区二区三区 | 亚洲 欧美 日产 综合 在线 | 777午夜福利理论电影网 | 四虎影院在线免费 | 97丨九色丨国产人妻熟女 | 美国黄色片视频 | 中本亚洲欧美国产日韩 | 亚洲第一视频区 | 国产真实交换配乱婬95视频 | 青草av久久一区二区三区 | 无遮挡边摸边吃奶边做视频免费 | 麻豆午夜在线 | 国产精品日韩av | 激情五月婷婷综合网 | 极品粉嫩嫩模大尺度无码 | 国精品无码一区二区三区在线a片 | 国产卡一卡二卡三无线乱码新区 | 巨物撞击尤物少妇呻吟 | 国产99久久久国产精品成人免费 | 巨物撞击尤物少妇呻吟 | 国产一区二区三区导航 | 中文字幕手机在线看片不卡 | 91色片 | 经典三级欧美在线播放 | 欧美亚洲综合成人a∨在线 有码在线视频 | 国产精品久久久久久福利一牛影视 | 欧美一级片免费播放 | 亚洲精品国产av现线 | 天堂资源在线www中文 | 国产精品久久久久久久久夜色 | 超清无码熟妇人妻av在线电影 | 亚洲黄在线观看 | 一本色道久久综合亚洲精品酒店 | 97日日碰人人模人人澡分享吧 | 婷婷综合在线观看 | 日本真人边吃奶边做爽免费视频 | 九九99九九精彩网站 | 国产精品无码久久久久 | 天天摸天天摸天天天天看 | 亚洲乱码卡一卡二卡新区中国 | 国产精品综合久久久久久 | 国内精品偷拍视频 | 日日噜噜夜夜狠狠久久无码区 | 午夜男女爽爽爽免费体验区 | 精品无码国产自产拍在线观看 | 欧美特黄一级大片 | 欧美a视频在线 | 伊伊人成亚洲综合人网 | 国产成人综合色视频精品 | 东方av在线免费观看 | 中文字幕在线免费观看视频 | 国产成人亚洲精品青草 | 亚洲欧美日韩综合在线一 | 免费人成在线观看视频无码 | 欧美成人激情视频 | 天堂在线最新版www中文 | 亚欧精品在线观看 | 成人做爰高潮片免费视频美国 | 欧美日韩免费一区二区三区 | a毛片大片 | 亚洲av毛片成人精品 | 天堂在线www天堂中文在线 | 欧美 成人 亚洲 动漫 另类 | 日韩和的一区二在线 | 国产成人综合在线女婷五月99播放 | 级毛片内射视频 | 国产精品视频免费观看 | 四虎新网站| 国产欧美综合在线观看第十页 | 午夜在线播放 | 又大又粗欧美黑人aaaaa片 | 精品久久久久久久免费人妻 | 国产清纯白嫩初高生在线观看 | 毛片av免费 | 日日干天天干 | 99干99| 99国产成人综合久久精品77 | 国产极品美女高潮无套在线观看 | 皇帝调教后妃全肉高h | 亚洲中文字幕人成影院 | 国产午夜亚洲精品久久 | 久久久久久伊人高潮影院 | 国产午夜高潮熟女精品av | 天天爽天天爽夜夜爽 | 亚洲综合自拍偷拍 | 国产精品爽爽va在线观看网站 | 欧美一进一出抽搐大尺度视频 | 热99re久久免费视精品频 | 国产精成人品日日拍夜夜 | 无码专区 丝袜美腿 制服师生 | 五月婷婷中文网 | 国产一区视频在线 | 日韩在线精品视频 | 亚洲天堂免费在线 | 亚洲国产成人无码av在线 | 三上悠亚久久 | 国产综合另类 | 精品国产乱码久久久久久蜜退臀 | 久久久日韩精品一区二区 | 国产91精品看黄网站在线观看动漫 | 国产乱人伦av在线无码 | 在线亚洲午夜理论av大片 | 日韩一区二区视频 | 偷偷久久 | 久艹久久 | 亚洲精品国产偷自在线观看 | 狠狠色图片 | 国产最爽的乱淫视频国语对白 | 草草影院网址 | 天天摸夜夜添久久精品 | 在线看免费无码av天堂的 | 日韩a视频 | 一区二区三区有限公司 | 国产在线高清精品二区 | 毛茸茸亚洲孕妇孕交片 | 99j久久精品久久久久久 | 久青青视频在线观看久 | 欧美日韩偷拍视频 | 骚女人干起来舒服视频在线 | 国产精品久久久久久久久久王欧 | 色偷偷尼玛图亚洲综合 | 天天躁夜夜躁狠狠躁2021牛牛 | 国产成人精品免费视频大全软件 | 欧美全免费aaaaaa特黄在线 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产国产人免费人成免费视频 | 日韩在线视频不卡 | 爽死你欧美大白屁股在线 | 成人特级毛片 | 国产乱淫精品一区二区三区毛片 | 中文字幕一区在线观看视频 | 中文字幕avav| 国产精品片aa在线观看 | 中文字幕永久免费 | 午夜黄色在线 | 国产免费一区二区三区视频 | 18岁日韩内射颜射午夜久久成人 | 亚洲人成网站在线播放动漫 | 精精国产xxxx视频在线野外 | 国产野外作爱视频播放 | 亚洲老妈激情一区二区三区 | 国产精品麻豆成人av电影 | 韩产日产国产欧产 | 美日欧激情av大片免费观看 | 亚洲午夜久久久久久噜噜噜 | 男人天堂av片 | 天天鲁一鲁摸一摸爽一爽 | 三级国产国语三级在线 | 丰满少妇精品久久久久久 | 1769国产 | 国产无套粉嫩白浆内谢在线 | 久久精品中文无码资源站 | 国产综合精品一区二区三区 | 伦理天堂eeuss | 综合五月天 | 国产精品aⅴ在线观看 | 日韩精品无码免费专区网站 | 国产一级揄自揄精品视频 | 精品一区三区 | 日韩精品视频在线观看免费 | 欧美日韩亚洲国内综合网 | 亚洲区一区| 国产精品久久久久野外 | 好大好长好紧爽小91 | 拔擦拔擦8x国产精品免费 | 欧美黄色91| 成人性生交大片免费看小说 | 国产亚洲天堂 | 国产精品久久久久久精 | 在线观看无码av网站永久免费 | 日射精情感性色视频 | 丁香婷婷深情五月亚洲 | 日本精品在线播放 | 国产成人精品午夜片在线观看 | 亚洲色成人网站www永久下载 | 国产第一页浮力影院草草 | 国产午睡沙发被弄醒完整版 | 日本在线免费观看 | 国产成人免费片在线观看 | 台湾av一区二区三区 | 成年女人午夜毛片免费视频 | 国产在线xxx| 99久久超碰中文字幕伊人 | 国产偷久久一级精品 | www中文字幕综合码 中文字幕在线视频观看 | 一级特黄bbbbb免费观看 | 91.成人天堂一区 | 成人性生交大片免费8 | 青青草成人免费视频在线观看 | 中文字幕精品久久久久人妻红杏1 | 免费一级淫片 | 久热精品免费视频 | 美丽人妻系列无码专区 | 乌克兰少妇猛性xxxxxxx | 国产欧美日韩国产高清 | 青青草国产精品欧美成人 | 亚洲国产av美女网站 | 亚洲日本va一区二区sa | 麻豆av导航 | 在线观看日本亚洲一区 | wwwxxxxx日本| 18禁成年无码免费网站 | 日韩精品在线网站 | 亚洲欧美另类激情综合区蜜芽 | 91麻豆精品国产91久久久无需广告 | 亚洲亚洲人成无码网www | 美女高潮无遮挡免费视频 | 亚洲黄av| 多毛小伙内射老太婆 | 无码高潮喷吹在线播放亚洲 | 亚洲色欲色欲www在线看 | 国产精品福利自产拍久久 | 亚洲精品二区 | 青青草国产精品一区二区 | 欧美精品国产制服第一页 | 午夜国产免费 | 午夜国产免费视频亚洲 | 国产精品亚洲аv无码播放 伊人精品网 | 88福利视频| 中国少妇xxxⅹ性xxxx | 久久亚洲精品无码观看网站 | 国产成人精品午夜片在线观看 | 岛国av无码免费无禁网站麦芽 | 日韩久久影院 | 香蕉免费一区二区三区在 | 综合成人亚洲偷自拍色 | 国产精品人人爽人人做我的可爱 | 无码人妻精品一区二区在线视频 | 5566综合网 | 国产肉体xxxx裸体高清 | 欧美日韩欧美日韩在线观看视频 | 香蕉网久久 | 亚洲中文字幕va福利 | 免费成人高清视频 | 国产又粗又猛又爽又黄视频 | 97久久超碰国产精品最新 | 狠狠色狠狠色综合日日小说 | 亚洲国产成人精品无码区四虎 | 在线天堂资源 | 免费色播 | 国产在线无码精品电影网 | 国产精品久久久久人妻无码 | 无码写真精品永久福利在线 | 亚洲九九九 | 天天干天天操av | 免费观看的av毛片的网站 | 92国产精品午夜免费福利视频 | 女同舌吻互慰一区二区 | 国内精品免费久久久久电影院 | 无码精品一区二区三区在线 | 国产无遮挡又黄又爽无vip | 亚洲综合欧美在线一区在线播放 | 国产打屁股调教视频2 | 国产成人无遮挡在线视频 | 福利视频网址导航 | 韩国精品视频一区二区在线播放 | 麻豆国产av剧情偷闻女邻居内裤 | 国产天堂视频 | 国产乱子伦视频一区二区三区 | 四虎亚洲精品无码 | 99久久精品免费看国产免费粉嫩 | 在线免费观看日韩 | 欧美又大又粗午夜剧场免费 | 亚洲精品国产成人 | 欧美综合天天夜夜久久 | 97人人超 | 超碰久操 | 伊人网狼人 | 国产毛片a高清日本在线 | 真实国产乱子伦视频 | 男人午夜天堂 | 成在人线av无码免观看麻豆 | 亚洲免费永久精品 | 星空大象在线观看免费播放 | 亚洲天堂2014 | 超碰在线网| 佐山爱巨大黑人司机在线观看 | 在线观看国产成人av天堂 | 亚洲性生活网站 | 欧美日本在线观看 | 午夜福利无码不卡在线观看 | 日韩人妻中文无码一区二区三区 | 天天爽天天狠久久久综合麻豆 | 亚洲乱码在线卡一卡二卡新区豆瓣 | 综合色在线视频 | 国产成人综合亚洲看片 | 揉捏奶头高潮呻吟视频试看 | 风韵丰满熟妇啪啪区老老熟女百度 | 色人久久 | 污片在线观看 | 超碰久热 | 久久盗摄| 婷婷丁香五月激情综合在线 | 欧美亚洲久久 | 亚洲品牌自拍一品区9 | 999这里只有是极品 九九久久精品国产免费看小说 | 1000部拍拍拍18勿入免费视频 | 制服丝袜亚洲中文欧美在线 | 久久精品道一区二区三区 | 激情综合色综合啪啪五月丁香 | 成人免费毛片w | 日韩和一区二区 | www.日日夜夜 | 欧美精品成人a区在线观看 狠狠操天天 | 日韩免费看片网站 | 中国久久久 | 91精品国产综合婷婷香蕉 | 91嫩草影视 | 亚洲一区在线观看免费视频 | 肥臀熟女一区二区三区 | 欧美成年黄网站色视频 | 午夜精品一区二区三区在线 | 亚洲综合另类小说专区 | 一本到无码av专区无码不卡 | 夜夜高潮夜夜爽高清视频 | av网址在线播放 | 国产成人女人毛片视频在线 | 密臀av在线播放 | 一级全黄少妇免费录像片 | 国产农村妇女aaaaa视频 | 日韩精品播放 | 天天躁日日躁狠狠躁av麻豆 | 亚洲中文字幕一二三四区苍井空 | 黄色片在线 | 国产精品美女久久久亚洲 | 无码毛片一区二区三区本码视频 | 亚洲玖玖玖 | 国产免费一区二区三区最新6 | 又爽又黄又无遮挡的激情视频免费 | 国产精品中文字幕一区二区三区 | 亚洲午夜久久久影院 | 亚洲精品高清在线观看 | 毛片美国基地 | 日韩精品一区二区三区丰满 | 曰韩一级片 | 黄色在线国产 | 青草视频在线播放 | 青青青视频免费观看 | 国产理论视频在线观看 | 大奶少妇av | 欧美视频区高清视频播放 | 第一福利网 | 伊人中文字幕 | 狠狠艹狠狠干 | 狠狠精品干练久久久无码中文字幕 | 免费午夜无码18禁无码影院 | 黄色中文字幕 | 97视频在线免费观看 | av男人的天堂在线观看 | 亚洲国产精品成人无码区 | 国产精品久久久久久久久片桃花 | 国产肉体xxxx裸体高清 | 成人午夜网址 | 又黄又湿啪啪响18禁 | 蜜臀精品久久久久久蜜臀 | 无遮挡十八禁污污网站在线观看 | 久久中文字幕精品 | 性欧美丰满熟妇xxxx性久久久 | 起碰免费公开97在线视频 | 福利毛片 | 欧美一区二区久久 | 久草在线资源福利站 | 狠狠五月深爱婷婷 | 中文字幕乱码亚洲无线码 | 成年无码动漫av片在线尤物 | 强制中出し~大桥未久在线a | 激情射精爽到偷偷c视频无码 | 色欲国产麻豆一精品一av一免费 | 性欧美交xxxxx免费视频 | 国产一区二区三区 韩国女主播 | 第四色亚洲色图 | 亚洲精品成人免费 | 胸大又好看三级吃奶 | 欧美成年视频在线观看 | 国内真实迷j下药在线观看 视频在线+欧美十亚洲曰本 | 免费在线观看日本 | 成人欧美一区二区三区小说 | 国产精品毛片在线完整版 | 亚洲国产精品无码久久九九大片 | 国产精品精品自在线拍 | 午夜理论片yy4080私人影院 | 欧美日韩在线免费播放 | 亚洲男生自慰xnxx | 东京道一本热中文字幕 | 亚洲成人午夜av | 亚洲逼| 色噜噜亚洲精品中文字幕 | 无码专区 丝袜美腿 制服师生 | 少妇欧美激情一区二区三区 | 国产tv在线观看 | 2020久久香蕉国产线看观看 | 国模gogo无码人体啪啪 | 天堂素人| 成人免费在线视频观看 | av人摸人人人澡人人超碰妓女 | 日韩色图在线观看 | 无码日韩做暖暖大全免费不卡 | 在线天堂www在线国语对白 | 美女吸乳羞羞视频网站 | 国产一本一道久久香蕉 | 欧美一级黄色片视频 | 狠狠久久久 | 欧美激情偷拍 | 艳z门照片无码av | 久久97视频 | 无码人妻巨屁股系列 | 排球少年第四季在线看樱花 | 久久精品国产亚洲αv忘忧草 | 一本一本久久a久久综合精品蜜桃 | 手机看片国产福利 | 真实单亲乱l仑对白视频 | 日韩国产亚洲高清在线久草 | 久草在线在线视频 | 欧美激情另类 | 欧美精品日韩精品一卡 | 激情五月婷婷色 | 国产第100页 | 亚洲人成网站精品片在线观看 | 丰满少妇女裸体bbw 国产精品成人久久小草 | www.亚洲欧美 | 久久裸体视频 | 在线 欧美 中文 亚洲 精品 | 麻豆精品一区二正一三区 | 欧美午夜精品久久久久 | 一区二区在线视频 | 91av国产精品 | 国产传媒一本之道 | 又粗又猛又爽又黄少妇视频网站 | 久久久久久一区二区三区 | 欧美一区二区三区小说 | 99国产精品久久久蜜芽 | 美女视频黄的全免费视频网站 | 日韩在线播放中文字幕 | а√资源新版在线天堂 | 99久久99久久免费精品小说 | 全部av―极品视觉盛宴 | 国产精品久久九九 | 国产性自拍 | 正在播放国产老头老太色公园 | 岬奈奈美精品一区二区 | 久久精品无码鲁网中文电影 | 黑人巨大精品欧美黑寡妇 | 丁香六月综合 | 精品精品国产欧美在线小说区 | 日日噜噜夜夜狠狠视频无码日韩 | 免费涩涩 | 国产精品一品二区三区四区18 | 欧美综合乱图图区乱图图区 | 四川丰满妇女毛片四川话 | 国模小黎自慰gogo人体 | 午夜神马影院dy888亚洲精品 | 亚洲熟妇无码一区二区三区导航 | 宅男噜噜噜66国产精品86 | 国产精品久久久久精女同 | 97av视频在线 | 一区二区在线视频 | 免费网站看sm调教视频 | 精品亚洲aⅴ无码一区二区三区 | sm在线看 | 国语自产视频在线 | 麻豆人人妻人人妻人人片av | 人人超碰97 | 天天综合网久久 | 国产区又黄又硬高潮的视频 | 日本熟伦人妇xxxx | 久久中文字幕人妻丝袜系列 | 免费成人进口网站 | 亚洲国产精品av在线播放 | 亚洲精品沙发午睡系列 | 色婷婷av一区二区三区之红樱桃 | 国产精品美女久久久久久麻豆 | 亚洲免费中文字幕 | 国产精品无码电影在线观看 | 国产精品久久久18成人 | 久久久久99精品成人片牛牛影视 | 国产真实迷奷在线播放 | 亚洲欧美一区二 | 天天色综合4| 亚洲精品成人片在线播放 | 欧美午夜精品久久久久久浪潮 | 欧美性猛交久久久乱大交小说 | 国产成人精品日本亚洲直接 | 久久国产自偷自偷免费一区调 | 一级片色 | 国内精品自产拍在线观看 | 久久草在线观看视频 | 天天躁日日躁很很躁2022 | 国产麻豆一精品一男同 | 人善交video另类hd国产片 | а√中文在线8 | 日本a免费 | 亚洲小视频在线播放 | 日韩在线观看视频网站 | 国产视频亚洲精品 | 亚洲精品动漫成人3d无尽在线 | 亚洲国产区男人本色在线观看 | 亚洲中文字幕aⅴ无码天堂 成人午夜毛片 | 无码尹人久久相蕉无码 | 91嫩草私人成人亚洲影院 | 天天搞天天干 | 国产成人一区二区在线 | 国产鲁鲁视频在线观看 | 亚洲精品国产精品国自产观看浪潮 | 欧美色淫网站 | 欧产日产国产蜜网站 | 四虎成人精品无码永久在线 | 男女午夜视频在线观看 | 狠狠2021最新版 | 羞羞视频网 | 成 人 黄 色 片 在线播放 | 国产精品午夜不卡片在线 | 欧美性专区 | 久久综合婷婷成人网站 | 成本人无码h无码动漫在线网站 | 亚洲成a人片在线观看天堂无码不卡 | 久久超碰97中文字幕 | 激情综合站 | 国产午夜禁区精品视频 | 国产网站黄色 | 色一情一交一乱一区二区 | 高清午夜福利电影在线 | 亚洲色偷精品一区二区三区 | 国产欧美日韩综合精品一 | 尤物av午夜精品一区二区入口 | 色爱av综合网站 | 欧美一道本一区二区三区 | 日本三级在线播放线播放 | 欧美一区二区喷水白浆视频 | 国产又湿又黄又硬又刺激视频 | 人妻少妇精品专区性色av | 色极品影院 | 亚洲国产精品久久艾草 | 91橘梨纱中出体验在线观看 | 日本丰满的少妇 | 欧美无限看 | 日本不卡一区二区三区 | 国产亚洲精品久久久久小 | av激情亚洲男人的天堂 | 98久9在线 | 免费 | 亚洲精品国产美女在线一区 | 欧美一级乱黄 | 一本色道久久综合狠狠躁的推荐 | 色翁荡息又大又硬又粗又视频图片 | 色呦呦中文字幕 | 国产日韩在线免费 | 久久人人爽人人爽人人av | 99年国精产品一二二区传媒 | 亚洲精品白浆 | 亚洲熟妇丰满多毛xxxx | 91亚洲国产成人 | 乱码一卡二卡新区永久入口 | 99re热这里只有精品最新 | 一边啪啪的一边呻吟声口述 | 久久99国产精品女同 | 99久久99久久免费精品蜜桃 | 精品成人久久久 | 日本精品视频一区 | 欧美视频在线观看不卡 | 美女人妻激情乱人伦 | 五月天堂av91久久久 | 亚洲国产日韩欧美综合另类bd | 亚洲精品无码高潮喷水在线 | 性无码一区二区三区在线观看 | 男女作爱免费网站 | 国产美女亚洲精品久久久综合 | 亚洲国产精品久久久久秋霞小说 | 日本做受高潮又黄又爽 | 人妻无码一区二区视频 | 1000部夫妻午夜免费 | 一个色亚洲 | 亚洲第一区第二区 | 久久香蕉网站 | 麻豆一区二区三区蜜桃免费 | 一区二区三区四区国产精品 | 免费的网站永久免费 | 亚洲色图综合在线 | 国产精品a久久 | 依依成人在线视频 | 一本色综合 | 69福利网| 日本添下边视频全过程 | 天天干在线播放 | wwwxx69| 经典三级伦理另类基地 | 亚洲天堂第一页 | 亚洲 欧美 变态 另类 综合 | 国产卡一卡二卡三卡免费 | 国产一性一交一伦一a片 | 综合网在线 | 无码内射中文字幕岛国片 | 一区二区视频在线免费观看 | 国产成人av网 | 国产欧美另类久久精品蜜芽 | 亚洲精品无码一区二区三区久久久 | 91精品爽啪蜜夜国产在线播放 | 插鸡网站在线播放免费观看 | 国产香蕉97碰碰视频碰碰看 | 中文字幕97| 男女拍拍拍网站 | 在线观看不卡一区 | 一色桃子中文字幕 | 蜜桃久久av一区 | 国产视频亚洲视频 | 日韩一区二区精品葵司在线 | 精彩动漫 - 91爱爱 | 国产超碰人人做人人爽av牛牛 | 五月婷婷六月丁香 | 中日韩在线视频 | 天天亚洲综合 | 香蕉在线 亚洲 欧美 专区 | 999精品视频在线 | 福利所第一福利 | 日日干天天射 | 韩国黄色片网站 | 未成满十八禁止免费网站1 女性喷水视频 | 尤物av无码国产在线看 | 成年人视频在线免费看 | 国产成人精品无码免费看 | 亚洲激情视频网 | 欧美一级视频免费观看 | 樱桃视频a在线18 | 99riav.6国产情侣在线看 | 青草91| 中文字幕无码免费不卡视频 | 国产激情久久久久影院老熟女 | 色偷一区国产精品 | 久久婷婷五月综合色丁香花 | 国产在线高清理伦片a | 极品粉嫩国产48尤物在线播放 | 中文国产在线观看 | 男女猛烈无遮挡免费视频在线观看 | 无码中出人妻中文字幕av | 99国产精品国产精品九九 | 在线视频精品中文无码 | 香港三日本三级少妇三级66 | 午夜乱码爽中文一区二区 | 日本免费网址 | 欧美日韩综合一区二区 | 色网站在线播放 | 色88888久久久久久影院 | 18禁美女黄网站色大片免费网站 | 国产超碰人人做人人爱 | 国产在线精品自拍 | 久久伊人精品视频 | 中文字幕一区二区三区日韩精品 | 久久国产精品99久久久久久丝袜 | 人妻丝袜中文无码av影音先锋 | 免费无码国模国产在线观看 | 女人与公人强伦姧人妻完电影 | 免费一级黄色 | 福利吧导航 | 五十六十日本老熟妇乱 | 午夜视频久久久 | 亚洲欧美另类日本 | 国产成人一区二区啪在线观看 | 四虎永久在线精品免费网址 | 国产激情久久久久久熟女老人av | 深夜福利小视频在线观看 | 亚洲精品一区国产欧美 | www.夜夜操| 色综合天天综合综合国产 | 一色屋精品久久久久久久久久 | 国产成人亚洲综合青青 | 国产性生交大片免费 | 天堂va欧美ⅴa亚洲va | 日韩av网站在线播放 | 2018高清国产一区二区三区 | 九九99热久久精品离线6 | 日韩精品久久久久 | 在线色网站| 曰韩精品无码一区二区三区 | 午夜嘿嘿嘿在线观看 | 亚洲中文在线精品国产百度云 | 欧美日韩人成视频在线播放 | 毛茸茸亚洲孕妇孕交片 | 老色鬼在线播放精品视频 | 国产传媒麻豆剧精品av | 五月天天天综合精品无码 | 深爱激情站 | sao虎视频在线精品永久 | 在线看成人av | 又粗又硬大战丰满少妇 | 日本中文字幕在线不卡 | 国产suv精品一区二区62 | 强奷漂亮少妇高潮伦理 | 久久综合色_综合色88 | 午夜aa | 免费无码又爽又刺激高潮的动漫 | 日韩乱码在线观看免费视频网站 | 久久这里只有精品国产 | 污片网站在线观看 | 美女视频黄a是视频大全国产 | 97av在线视频免费播放 | 国产精品喷浆 | 亚洲无吗av | 亚洲天堂日韩在线 | 国产成人精品免费视频app软件 | 四虎精品8848ys一区二区 | 少妇搡bbbb搡bbb搡打电话 | 美日韩三级 | 午夜福利09不卡片在线机视频 | 亚洲一区视频网站 | 肥婆av | 日本成熟丰满老妇xxxx1 | 午夜在线视频 | 日韩在线成年视频人网站观看 | wwwxxx色 | 亚洲精品你懂的在线观看 | 日韩精品理论 | 精品久久久久久中文字幕无码vr | 国产97在线 | 美洲 | 尤物国产在线精品一区 | 精品欧美乱码久久久久久 | 国产一级一片免费播放放a 国产人妻精品无码av在线 | 亚洲欧洲日产国码无码网站 | 日本在线视频一区二区三区 | 99精品视频播放 | 特黄毛片杨钰莹 | 精品国产国语对白久久免费 | 亚洲日本va | 亚洲成av 人片在线观看无码 | 欧美黑人又粗又大xxx | www.91porny.com| 日韩在线视频线视频免费网站 | 欧美色图亚洲自拍 | 亚洲xxxx18 | 婷婷一区二区三区 | 超清无码波多野吉衣中文 | 法国少妇xxxx做受 | 国产美女流白浆 | 男人的天堂免费一区二区视频 | 久久综合中文 | 国产欧美日韩一区二区加勒比 | 国产精品二区三区 | 国产播放隔着超薄丝袜进入 | 一区二区在线观看免费视频 | 对白刺激theporn | 日本真人边吃奶边做爽免费视频 | 女人与公人强伦姧人妻完电影 | 久久久久久久网站 | av密臀| 欧美操 | 四川丰满少妇被弄到高潮 | 91视频国产精品 | 日韩国产毛片 | 狠狠综合久久av | 亚洲精品中文在线观看 | 99riav.6国产情侣在线看 | 国产精品yy9299在线观看 | 无遮无挡三级动态图 | 亚洲高潮喷水无码av电影 | 国产精品亚洲专区无码第一页 | 国产欧美日韩国产高清 | 国产精品亚州 | 小泽玛利亚一区二区在线 | 久久国产一二区 | 久久青草热 | 2021国产精品久久久久青青 | 久久精品www人人做人人爽 | 亚洲 欧美 国产 67194 | 成人黄色在线播放 | 亚洲精品乱码久久久久久自慰 | 中文字幕在线视频不卡 | 99久久亚洲精品无码毛片 | 久久久久久久国产a∨ | 国产单亲乱hd | 国产精品一区二区久久国产 | 亚洲精品成人av在线 | 亚洲国产日韩a在线播放 | 大美女100%| 欧美一级片在线 | 国产精品精品视频一区二区三区 | 欧美性猛交xxxx免费视频软件 | 日韩在线1| 人人人插人人费 | 国产精品国产亚洲精品看不卡15 | 夜夜狂射影院欧美极品 | 青青草无码精品伊人久久 | 撞击白丝少妇肉臀的小说 | 中文字幕亚洲码在线 | 又嫩又硬又黄又爽的视频 | 桃花岛tv亚洲品质成人入口 | 中文字幕中文字幕 | 色婷婷综合久久久久中文字幕 | jul599hd中文字幕 | 免费精品国产自产拍在线观看 | 九九激情网 | 日本舌吻大尺度呻吟视频 | 人妻无码视频一区二区三区 | 欧美日韩一区二区三区不卡视频 | 久草视频手机在线 | 99999精品视频 | 女明星黄网站色视频免费国产 | 毛片免 | 成人欧美一区二区三区黑人孕妇 | 国产破处视频 | 九九九九九九伊人 | 天天爽夜夜爽夜夜爽精品视频红桃 | 国产精品久久福利 | 国产无遮挡免费真人视频在线观看 | 亚洲国产av无码男人的天堂 | 91在线公开视频 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 香蕉大久久 | 色女孩综合 | 精品偷拍一区二区三区在线看 | 国产精品videos | 国产高清在线自在拍网站 | 国产乱子伦无码精品小说 | 国产精品久免费的黄网站 | 中文字幕免费一区 | 天天谢天天干 | 国产成人福利在线视频播放下载 | 国产精品久久久久久亚洲毛片 | 成人综合网址 | 广东少妇大战黑人34厘米视频 | 国产女厕偷窥系列在线视频 | 欧美三级不卡 | 寂寞人妻瑜伽被教练日 | 伊人久久无码大香线蕉综合 | 精品免费看 | 福利社午夜影院 | 国产明星裸体xxxx视频 | 国产亚洲欧美日韩在线观看一区 | 色wwwwww| 99久久国产综合精品女 | 亚洲综合色视频 | 在线国产99| 又爽又黄又无遮挡的视频在线观看 | 一本色道久久东京热 | 人人爽人人澡 | 日本三级韩国三级三级a级按摩 | 国产久青青青青在线观看 | 色一欲一性一乱—区二区三区 | 欧美国产日韩a在线视频 | 亚洲精品久久久久久动漫 | 免费九九视频 | 97夜夜澡人人爽人人模人人喊 | 狠狠色噜噜狠狠狠888米奇视频 | 去看片在线 | 夫妇交换性三中文字幕 | 欧美精品一区二区三区很污很色的 | 日日撸夜夜操 | 爆乳熟妇一区二区三区 | 国产一区二区三区美女 | 亚洲熟女乱色综合亚洲图片 | 伊人色综合久久天天五月婷 | 99视频国产精品免费观看 | 久久久亚洲欧洲日产国码aⅴ | 欧美视频一区在线 | 男人的天堂欧美 | 国产精品3| 精品国产成人国产在线视 | 国产精品久久久久久ai换脸综合 | 国产精品综合av一区二区 | 男女一进一出超猛烈的视频 | 欧美xxxx黑人又粗又大 | 成人看片黄a免费看小说 | 野花在线无码视频在线播放 | 欧美一区二区公司 | 国产成人无码国产亚洲 | 国产99在线 | 中国 | 国产激情网 | 欧美日韩第一页 | 亚洲高清偷拍一区二区三区 | 无码日韩人妻精品久久 | 国产在线欧美日韩精品一区 | 爆操清纯美女 | 色在线看| 蜜桃av一区二区三区 | 香蕉久久av一区二区三区 | 亚洲色图第1页 | 亚洲熟妇无码久久精品 | av毛片在线 | 国产精品jizz在线观看美国 | 天天综合网色在线观看 | 色噜噜网站 | 尤物yw午夜国产精品大臿蕉 | 99re欧美| a毛片在线 | 日本乱人伦aⅴ精品潮喷 | 欧美图片激情小说 | 国内精品一区二区三区在线观看 | 91嫩草私人成人亚洲影院 | 色香蕉av | 天天干天天摸 | 国产九九精品 | 欧美激情性生活 | 精品人妖videos欧美人妖 | 国产丝袜无码一区二区三区视频 | 女人爽到高潮免费视频大全 | 日韩美女视频网站 | 白嫩丰满国产精品 | 亚洲成a人片在线观看的电影 | 黑人尾随强伦姧人妻爽翻天 | 国产做爰xxxⅹ久久久 | 91丨porny丨最新 | 高清不卡二卡三卡四卡免费 | 久久不见久久见免费影院www日本 | 91夜色视频 | 一本加勒比hezyo无码人妻 | 国产精品美女久久久久图片 | 97精品免费视频 | 亚洲视频一区二区三区四区 | 天天躁日日躁狠狠躁免费麻豆 | 蜜桃av麻豆av果冻传媒 | 精品爆乳一区二区三区无码av | 色久网 | 99国产在线 | 欧美人与动牲交精品 | 97超碰资源总站 | 亚洲成a∧人片在线播放调教 | 亚洲欧美在线播放 | 亚洲跨种族黑人xxx 国产aⅴ视频免费观看 | 韩国乱码伦视频免费 | 少妇太爽了在线观看 | 日本黄色免费看 | 国产美女亚洲精品久久久久 | 久草网在线观看 | a在线播放 | 69视频在线免费观看 | 精品久久久无码中文字幕边打电话 | 精品夜夜爽欧美毛片视频 | 国产国语熟妇视频在线观看 | 久久成人a | 欧美成人一二三区 | 国产精品自拍第一页 | 亚洲成av人片天堂网久久 | 天堂影院av | 婷婷色中文 | 国产精品青草久久福利不卡 | 韩国中文字幕av | 亚洲美女视频一区 | 午夜理论电影在线观看亚洲 | 91成人短视频在线观看 | 欧美视频一区二区三区四区在线观看 | 日韩黄视频在线观看 | 亚洲国产欧美一区二区好看电影 | 放几个免费的毛片出来看 | 白天操晚上操天天操 | 99热在线播放 | 欧美成人手机视频 | youjizz中国少妇 | 波多野结衣丝袜ol在线播放 | 日韩一级片在线看 | 国内精品视频在线播放 | 日本高清三区 | 久久黄色大片 | 中文字幕无码热在线视频 | 欧美视频一区在线 | 伊人久久久大香线蕉综合直播 | 婷婷丁香色综合狠狠色 | 福利社黄色 | 国产日韩欧美一区二区宅男 | 久久久久亚洲精品无码系列 | 精品精品国产欧美在线 | 国产激情在线看 | 国产日产高清欧美一区 | 三级视频在线观看 | 欧美30p| 丰满放荡岳乱妇69 | 男人的天堂在线 | 亚洲色噜噜网站在线观看 | 亚洲最新av | 91新网站| 中国少妇大p毛茸茸 | 无码国产精品一区二区免费vr | 哈尔滨老熟女啪啪嗷嗷叫 | 成人免费无码婬片在线观看免费 | 天天干中文字幕 | 精品欧美成人一区二区不卡在线 | 伊人精品影院 | 女人久久 | 私人vps一夜爽毛片免费 | 国产成人精品一区二区三区 | 中文字幕色图 | 亚洲免费成人在线视频 | 91精品视频一区二区 | 日韩中文字幕亚洲 | 黄色日皮网站 | 亚洲综合色区在线观看 | 男女扒开双腿猛进入免费看污 | 97av在线播放 | 国产美足白丝榨精在线观看sm | 西西人体午夜视频无码 | 一本大道久久香蕉成人网 | 人妻熟妇乱又伦精品视频中文字幕 | 1024国产| 色女人天堂 | 中国国语毛片免费观看视频 | 国产午夜免费高清久久影院 | 无码人妻丰满熟妇a片护士 日韩黄色影视 | 精品无码久久久久久久久 | 九九精品热 | 日本一区二区在线高清观看 | 99riav国产在线观看 | 91丨porny丨国产麻豆 | 美女视频黄a是视频大全国产 | 欧美性插动态图 | 国产精品精品视频一区二区三区 | 国产人交视频xxxcom | 国产亚洲一区精品 | 国内精品久久久久影院薰衣草 | 国产午夜精品久久久久久 | 98色花堂永久在线网站 | 国产精品中文久久久久久久 | 国产无遮挡18禁无码网站免费 | 亚洲一区二区精品在线 | 国产综合第一页 | 久久九九有精品国产尤物 | 日本无遮挡吸乳呻吟免费视频网站 | 丰满少妇大乳高潮高清 | 52avaⅴ我爱haose免费视频 | 中文日韩亚洲欧美制服 | 小鲜肉洗澡时自慰网站xnxx | 成人中文乱幕日产无线码 | 久热综合| 一级少妇淫高潮免费全看 | 欧美肥老妇视频九色 | 又色又爽又黄又无遮挡的网站 | 熟女乱色一区二区三区 | 天天摸天天做天天添欧美 | 国产成av人片在线观看天堂无码 | 成人网站精品久久久久 | 欧美丰满熟妇xxxx | 亚洲视频在线视频观看视频在线 | 欧美日韩免费视频 | 国产99久久精品一区二区 | 麻豆一区二区三区在线观看 | 天天色播 | 成人精品aaaa网站 | 国产亚洲精品久久无码98 | 精品国偷自产在线电影 | 婷婷久久综合九色综合88 | 亚洲精品区 | 女人高潮a毛片在线看 | 中文字幕国产 | youjizz4| 天天操,夜夜操 | 人妻夜夜爽天天爽三区丁香花 | 国产精品久久久久无码av色戒 | 内射无码专区久久亚洲 | a级黄色毛片三个搞一 | 黄色日本视频 | 国产精品厕所 | 国产成人无码18禁午夜福利p | 国产精品国产三级国产aⅴ原创 | 大肉大捧一进一出好爽 | 久久婷婷久久一区二区三区 | 国产精品ssss在线亚洲 | 中文字字幕在线中文乱 | 五月天婷亚洲天综合网精品偷 | 精品少妇爆乳无码av无码专区 | 色欲色香天天天综合网站免费 | 性色av无码专区一ⅴa亚洲 | 少妇高潮惨叫久久久久久 | 亚洲精品无码av专区最新 | 国产成人免费无码视频在线观看 | 国产香蕉97碰碰碰视频在线观看 | 少妇午夜福利水多多 | 叼嘿在线观看 | 婷婷射精av这里只有精品 | 亚洲人成线无码7777 | 亚洲骚片 | 女人被狂爆到高潮免费视频 | 午夜国产 | 午夜理论片yy44880影院 | 日日噜噜噜夜夜爽爽狠狠22 | sm成人免费网站 | 亚洲天堂av中文字幕 | 伊人av综合网 | 欧美日韩999 | 国产又粗又硬又大爽黄 | 亚洲四虎在线 | 欧美视频在线不卡 | 日本色一区 | 国产在线精品成人一区二区三区 | 亚洲高清成人aⅴ片777 | 成人精品视频一区二区不卡 | 亚洲国产精品一区二区九九 | 久久七| 国产熟妇午夜精品aaa | 美女高潮无遮挡免费视频 | 天码av无码一区二区三区四区 | 狠狠色综合播放一区二区 | 手机字幕在线中文乱码怎么解决 | 欧美日韩国产中文高清视频 | 草在线 | 久久久久夜色精品国产老牛91 | 91tv在线观看 | 久久婷婷激情综合色综合俺也去 | 午夜寂寞影视 | 国产精品久久久久久麻豆一区 | 无码熟妇人妻av | 美女裸片 | 久草综合在线视频 | 熟女少妇丰满一区二区 | 亚洲欧美成人一区 | 小视频在线播放 | 色亚洲成人 | 手机在线免费av | 97国产精东麻豆人妻电影 | 亚洲视频国产视频 | 成人一区二区三区四区 | 一本到在线观看视频 | 国产真实younv在线 | 色婷婷久久综合 | 久久高清免费视频 | 成人黄色片视频 | 亚洲日本三级 | 国内精品少妇在线播放98 | 成人av首页 | 伊人av中文av狼人av | 国内久久婷婷五月综合欲色广啪 | 日本无遮挡真人祼交视频 | av爽妇网 | 亚洲成人免费视频 | 91精品国产爱久久丝袜脚 | 日本韩国欧美在线 | 久久综合九色综合97婷婷 | 丁香五月欧美成人 | 欧美成人免费在线观看视频 | 九九热视频在线免费观看 | 国产偷自一区二区三区 | www,操| 在线视频一二三区 | 亚洲男人的天堂av手机在线观看 | 精品亚洲成a人在线看片 | 久久国产午夜精品理论片34页 | 亚洲精品无码成人片 | 人妻少妇精品视频一区二区三区 | 天天看a| 国产黄色一区 | 天天欲色 | 欧美成人免费视频一区二区 | 国产欧美另类久久久精品不卡 | 欧美xxxxx精品 | 毛片网页 | 久草视频资源 | 久久99精品国产99久久6男男 | 国产又粗又猛又爽又黄的视频免费 | 日韩精品久久一区二区三区 | 少妇人妻久久无码专区 | 国产午夜福利伦理300 | 美妇激情偷伦小说 | 久久天天躁狠狠躁夜夜爽蜜月 | 伊人色综合久久久天天蜜桃 | 50岁熟妇的呻吟声对白 | 国产男女猛烈无遮挡在线喷水 | 中文字幕www. | 午夜激情剧场 | 国产在线精品成人一区二区 | 777精品国产乱码久777 | 欧美大片aaaaa免费观看 | 亚洲国产成人精品无码区在线网站 | 欧美日韩另类在线 | 9色在线视频 | 日日麻批免费40分钟无码 | 亚洲2022国产成人精品无码区 | 日韩一级黄色大片 | 日本一二三不卡 | 国产av大陆精品一区二区三区 | 嫩草视频免费 | 国产成人精品亚洲日本在线观看 | 十八18禁国产精品www | 亚洲欧美一区久久牛牛 | 四只老虎免费永久观看地址 | 激情五月综合色婷婷一区二区 | 欧美大胸视频 | www日本com| 国产亚洲精aa在线看 | 521香蕉网站大香网站 | 探花精品 | 久久视热这里只有精品 | 蜜臀.com| 性夜影院爽黄e爽 | 亚洲精品无人区 | 思思久久精品一本到99热 | 高h公妇烈火 | 5566亚洲精华国产精华精华液 | 1024香蕉视频 | 亚洲中文字幕av每天更新 | 福利在线小视频 | 国产成人午夜福利电影在线播放 | 欧美激情国内自拍 | 久久久精品国产一区二区三区 | 秋霞最新高清无码鲁丝片 | 99在线观看 | 乌克兰aaaaa裸体 | 黄色片国产 | 特黄网站| 神马久久久久久久久久 | 制服丝袜人妻日韩在线 | 丁香花中文字幕mv在线免费观看 | 日本日本熟妇中文在线视频 | 色婷婷在线播放 | 午夜三级av | av中字 | 国内揄拍国产精品人妻门事件 | 国产成人av片免费 | 纯爱无遮挡h肉动漫在线播放 | 在线观看av你懂的 | 成 人 免费 黄 色 视频 | 国内免费av | 久久精品九九热无码免贵 | 97人视频国产在线观看 | 欧美激情日韩精品久久久 | 国产又粗又猛又大爽老大爷 | 福利毛片 | 亚洲 欧美 日本 国产 高清 | 国产成人在线观看免费 | 免费人成视频x8x8入口 | 2019国产品在线视频 | 国产精品调教奴变态 | 国产精品天美传媒沈樵 | 曰的好深好爽好紧的视频 | 蜜桃视频无码区在线观看 | 星空大象在线观看 | 久久久久久久久久久久久久国产 | 可以直接免费观看的av网站 | 欧美一区二区三区,视频 | 观看毛片 | 国产黄大片在线观看画质优化 | 国产在线精品91国自产拍免费 | a级片在线播放 | 97色伦97色伦国产欧美 | 国产第99页| 天天操天天射天天舔 | 国产亚洲va在线电影 | 国产一区二区三区又黄又爽 | 福利视频入口 | 97久久超碰国产精品红杏 | 99re6在线观看国产精品 | 看一级黄色大片 | 中文字幕190s页 | 免费看男人j放进女人p的视频 | 国产亚洲精品美女久久久久 | 国产十八禁啪啦拍无遮拦视频 | 少妇高潮九九九αv | 亚洲中文欧美在线视频 | 美女视频在线观看福利网站在线观看 | 亚洲国产一区自拍 | 欧美午夜一区二区福利视频 | 黄网站在线看免费 | 国产女主播一区二区三区 | 一本久道中文无码字幕av | 人妻内射一区二区在线视频 | 激情校园都市古典人妻 | 亚洲国产成人高清在线播放 | 天天看片天天av免费观看 | 久久精品国产精品亚洲艾草网 | 激情综合色五月丁香六月欧美 | 久久av免费 | 在线免费不卡视频 | 国产原创av在线 | ā片在线观看免费看无码 | 成人高潮视频在线观看 | 高清破外女出血av毛片 | 日韩国产人妻一区二区三区 | 久久天天躁狠狠躁夜夜爽蜜月 | 天天狠狠色噜噜 | 999xxxx| 国产精品99久久久久久夜夜嗨 | 国产激情з∠视频一区二区 | 免费精品99久久国产综合精品 | 天天干天天插天天操 | 久久靠逼视频 | 久久伊人爱 | 久久久噜噜噜久久久白丝袜 | 日本公妇乱淫免费 | 国产乱码一卡二卡3卡4卡网站 | 青青热在线精品视频免费观看 | 精品午夜熟女人妻视频毛片 | 人妻少妇456在线视频 | 成在人线av无码免费高潮喷水 | 丁香婷婷色综合激情五月 | 久久受www免费人成 99在线播放视频 | 激情综合激情 | 国产日产韩国精品视频 | 国产毛片午夜福利 | 少妇淫真视频一区二区 | 国产精品人人做人人爽蜜臀 | 精品国内在视频线2019 | 天天躁人人躁人人躁狂躁 | 欧美色88 | 中文字幕第二区 | 亚洲国产日韩精品一区二区三区 | www国产亚洲精品久久麻豆 | 天天综合一区 | 欧洲熟妇色xxxx欧美老妇软件 | 日本天堂网在线观看 | 暖暖视频在线观看免费观看高清中文 | 天天操天天爽天天射 | 曰韩一级片 | 国产黄色三级毛片 | 激情综合色综合啪啪五月丁香 | 人人玩人人添人人澡免费 | 亚洲玉足av久久影视 | 欧美日韩在线播放视频 | 欧美一级黄色录像 | 色综久久 | 无遮挡边吃摸边吃奶边做 | 德国av| 日本免费久久 | 久久久久97国产精 | 久久在线精品视频 | 天堂九九 | 午夜性色一区二区三区不卡视频 | 亚洲精品一区二 | 男女性爽大片在线观看 | 中文字幕日韩经典 | 成人区人妻精品一区二区不卡视频 | 98久9在线 | 视频 | 亚洲精品国产自在现线最新 | 色资源av中文无码先锋 | 国产黄在线观看免费观看软件 | 亚洲精品国产一区二区三区在线观看 | 亚洲精品久久久久久久久久久 | 国产精品嫩草影院入口一二三 | 久久国产精品娇妻素人 | 色噜噜噜亚洲男人的天堂 | 无码人妻丰满熟妇区五十路在线 | 狠狠五月深爱婷婷 | 久久久久久久久亚洲精品杨幂 | 欧美亚洲在线播放 | av男人的天堂网 | 日韩人妻无码制服丝袜视频 | 男女性杂交内射女bbwxz | 欧美极品少妇xxxxⅹ | 欧美男人天堂网 | 99国内精品久久久久影院 | 精品国产乱码久久久久久老虎 | 亚洲成人一 | www.猫咪av.com| 天天躁日日躁很很躁2022 | 人妻少妇伦在线无码 | 婷婷国产一区综合久久精品 | 无码人妻精品一区二区三区99不卡 | 野花中文免费观看6 | 久久久久久久久久久免费精品 | 久热欧美| 久久人人妻人人爽人人爽 | 中国黄色1级片 | 亚洲第一se情网站 | 日日噜噜夜夜狠狠久久丁香五月 | 中文字幕线人 | 少妇被粗大的猛烈进出免费视频 | 97在线成人国产在线视频 | 欧美xxxxbbb | 国产精品自在欧美一区 | 最新国产精品精品视频 | 成人伊人青草久久综合网 | 天天干天天干天天干天天 | 黄网站免费永久在线观看网址 | 99久久九九社区精品 | 色妹子久久 | 黄网在线免费观看 | 国产成人免费无码视频在线观看m | 99精品视频免费在线观看 | 中文字幕日韩精品一区二区三区 | 激情综合色五月丁香六月欧美 | 97色偷偷色噜噜狠狠爱网站 | 国产精品一区二区在线免费观看 | 在线看片免费人成视频久网 | 亚洲日韩精品无码专区加勒比海 | 69堂人成无码免费视频果冻传媒 | 在线播放国产精品三级 | 国产毛片爱情岛久久久午夜 | 男人在线网站 | 国产成人小视频在线观看 | 69产性猛交xxxx乱大交 | 国产精品无码久久综合 | 少妇私密会所按摩到高潮呻吟 | 精品久久久无码中文字幕一丶 | 成人性欧美丨区二区三区 | 樱花草在线社区www韩国 | 好男人免费影院www神马 | 一本色道久久综合狠狠躁篇适合什么人看 | 精品一区二区三区影院在线午夜 | 久久99热只有频精品6狠狠 | 亚洲色图40p | 日本亚洲色图 | 刺激性视频黄页 | 青草久久久| 五月天婷婷在线视频精品播放 | 久久久久久久综合狠狠综合 | 亚洲国产成人精品av区按摩 | 成熟女人牲交片免费观看视频 | 吃奶呻吟打开双腿做受动态图 | 香蕉久久夜色精品国产使用方法 | 日韩综合色 | 亚洲精品乱码日本按摩久久久久 | 国产激情综合五月久久 | 青青久在线视观看视 | 综合偷自拍亚洲乱中文字幕 | 娇小性色伦xxxxx中国av | 成人精品啪啪欧美成 | 亚洲视频日本有码中文 | 台湾性dvd性色av | 久久精品一级片 | 国产特级毛片aaaaaa视频 | 日啪| 欧洲美女黑人粗性暴交 | 中文字幕有码无码av | 日韩av女优在线播放 | 四虎最新网址在线观看 | 欧美图片小说 | 国产中文字幕91 | 无码人妻丰满熟妇区免费 | 亚洲精品动漫久久久久 | 免费无码一区二区三区a片18 | 无码专区一va亚洲v专区在线 | 久久99久国产精品66 | 夏目彩春av一凶二区在线播效 | 免费99精品国产自在在线 | 福利一二三区 | 国产男女自拍 | 国产无内肉丝精品视频 | 中文字幕 国产 | 亚洲欧美激情视频 | 蜜桃视频色 | 女人夜夜春高潮爽a∨片 | 伊人网综合在线观看 | 国内黄色毛片 | 无码国产精品一区二区app | 91久久婷婷国产一区二区三区 | 欧美高清在线一区 | 一本久久a久久精品vr综合 | 台湾亚洲精品一区二区tv | 日韩精品一区二区三区在线观看l | 日本3级网站 | 亚洲精品无码不卡在线播放 | www天堂网 | 亚州毛片 | 四虎亚洲中文字幕无码永久 | 国产一区二区三区成人 | 少妇与公做了夜伦理69 | 九九热视频精品 | 外国免费毛片 | 尤物精品视频在线观看 | 无遮挡粉嫩小泬久久久久久久 | 精品玖玖玖 | 午夜视频在线观看免费观看1 | zzijzzij亚洲成熟少妇 | 国产偷抇久久精品a片蜜臀av | baoyu119.永久免费视频 | 欧美日韩国产片 | 亚洲精品玖玖玖av在线看 | 国内精品久久久久久久小说 | 国产又长又大又粗 | 国产99在线 | 亚洲 | 女女同性av片在线播放免费 | 亚洲日本人的毛茸茸 | 色综合久久88色综合天天免费 | 国产一级特黄aa大片出来精子 | 国产视频你懂的 | 日韩av影片 | 国产超碰人人爱被ios解锁 | 99久久无色码中文字幕人妻 | 久久er99国产精品免费 | 羞羞视频在线观看免费观看 | 国产午夜鲁丝片av无码 | 狠狠操夜夜爱 | 日韩精品欧美一区二区三区软件 | 长腿校花无力呻吟娇喘 | 神马午夜av | 狠狠干91| 偷拍欧美亚洲 | 亚洲综合一区二区三区无码 | 精品午夜久久 | 久久九九影院 | 久久欧美精品久久天美腿丝袜 | 国产成人欧美日本在线观看 | 少妇的肉体在线观看 | 91av国产视频| 一二三区av| 欧美久久精品一级黑人c片 99热国内精品 | 无码中文字幕日韩专区 | 久久久精品国产免大香伊 | 99热这里只有精 | 久久香蕉热 | 欧美精品久久久久久久免费软件 | av秋霞| 青草伊人久久综在合线亚洲 | 亚洲日韩男人网在线 | 波多野结衣av无码 | 四虎成人在线观看 | 日韩欧美国产综合 | 综合精品欧美日韩国产在线 | 欧美高清一级 | 国产69精品久久久久孕妇大杂乱 | 精品无码国产污污污免费网站国产 | 成人午夜国产内射主播 | 欧美亚洲日韩在线在线影院 | 中文人妻av高清一区二区 | 白白色免费视频 | 久热精品在线播放 | 免费的很黄很污的视频 | 日本一区二区在线免费 | 国产成人亚洲精品无码电影不卡 | 亚洲成a人无码亚洲成www牛牛 | 国产免费一级淫片a级中文 欧美精品一区二区三区在线 | 久久久一本精品99久久精品66 | 91精品国产综合久久小美女 | 欧美性大战久久久久久久蜜桃 | 亚洲精品av在线 | 亚洲国产丝袜精品一区 | 免费人成视频在线观看网站 | aⅴ网站在线观看 | 国内精品久久人妻无码妲己影院 | 日韩最新视频 | 欧美黄色a级 | 美女福利视频在线 | 欧美少妇一级片 | av小说亚洲 | 阳茎伸入女人阳道视频免费 | 日韩在线观看一区 | 手机在线看片日韩 | 日日干夜夜干 | 国产美女做爰免费视频 | 亚洲国产精品久久久久爰色欲 | 四只老虎免费永久观看地址 | 欧亚乱熟女一区二区在线 | 在线视频二区 | 欧美亚洲日本国产黑白配 | 国产偷国产偷亚洲高清人乐享 | 日韩av中文字幕在线免费观看 | 国产精品无码久久四虎 | 2021少妇久久久久久久久久 | 免费永久在线观看黄网站 | 亚洲天堂手机在线 | 国产专区在线播放 | 久久亚洲综合网 | 色综合久久中文字幕有码 | 少妇xxxhd中国 | 婷婷五月亚洲综合图区 | 国产做爰xxxⅹ久久久精华液 | 天天澡天天添天天摸av | 在线视频久 | 又大又粗弄得我出好多水 | 日韩欧美一区在线 | 伊伊亚洲综合人网777 | 人人人射 | 毛片毛片毛片毛片毛片毛片 | 无码人妻h动漫网站 | 欧美日本精品 | 欧美韩一区| 欧美在线日韩精品 | 精品无人区无码乱码大片国产 | 欧美精品在线一区二区 | 国产做爰xxxⅹ久久久精华液 | 夜夜躁狠狠躁日日躁av麻豆 | 久久网站免费看 | 天天爽天天 | 午夜激情视频在线免费观看 | www.91porny.com| 日日操av| 亚洲精品污一区二区三区 | 亚洲三区在线观看无套内射 | 亚洲综合自拍偷拍 | 亚洲影院丰满少妇中文字幕无码 | 亲子乱aⅴ一区二区三区下载 | 51精品国产人成在线观看 | 中文午夜人妻无码看片 | 在线观看免费网页欧美成 | 久热草视频 | 日产精品卡二卡三卡四卡区满十八 | 日韩a毛片| 亚洲视频日韩 | 欧美特黄aaaaaaaa大片 | 久久男人天堂 | 极品主播超大尺度福利视频在线 | 中文字幕avav | 在线观看av中文字幕 | 国产老头和老太xxxx视频 | 少妇丰满日韩偷拍欧美 | 在线日韩av免费永久观看 | 性生交大片免费视频 | 狠狠躁夜夜躁人蜜臀av | 999久久久精品国产消防器材 | 美美女毛片| 亚卅色图 | 成人一区在线观看 | 久久久久亚洲国产 | 婷婷嫩草国产精品一区二区三区 | 一本色道久久综合狠狠躁的推荐 | 日日橹狠狠爱欧美超碰 | 国产xvideos免费视频播放 | 亚洲va久久久噜噜噜久久天堂 | 日本不卡一区在线 | 欧美一级淫片bbb一84 | 131美女爱做视频 | 久久亚洲精品中文字幕一区 | av在线播放一区二区三区 | 国产美女被遭高潮免费视频 | 一区影视| 天天色天天射综合网 | 国产精品女优 | av黄色网 | 九哥草逼网| 国产精品久久久999 色五月丁香五月综合五月 人妻互换免费中文字幕 | 久久99久久99精品免视看 | 亚无码乱人伦一区二区 | 中文在线a∨在线 | 久久久精品久久日韩一区综合 | 免费无码又爽又刺激高潮软件 | 毛片基地在线观看 | 精品xxxx户外露出视频 | 婷婷成人综合 | 国产熟妇疯狂4p交在线播放 | 国产亚洲制服免视频 | 一区二区三区亚洲视频 | 国产又粗又猛又黄 | 黄色网在线 | 亚洲国产在一区二区三区 | 国产亚洲午夜高清国产拍精品 | 最新天堂在线视频 | 伊人涩涩 | 亚洲精品日韩一区二区电影 | 成人性视频网站 | 亚洲欧洲日产国码无码久久99 | 美日韩免费 | 在线a亚洲老鸭窝天堂 | 玩弄人妻少妇500系列网址 | 无码少妇丰满熟妇一区二区 | 综合久久久久久久 | 久久人人爽人人爽爽久久 | 国产精品成人无码a片在线看 | 中文字幕第88页 | 在线不卡av片免费观看 | 欧美69久成人做爰视频 | 欧美激情一区二区三区四区 | 欧美韩中文精品有码视频在线 | 国产亚洲精品久久久久秋霞不卡 | 激情综合色五月丁香六月亚洲 | www.黄色小说| 伊人79 | 亚洲中午字幕 | 色污视频在线观看 | 国产欧美精品一区 | 巨爆乳无码视频在线观看 | 欧美一级视频免费观看 | 国产日韩另类综合11页 | 欧美 国产 综合 欧美 视频 | 国产午夜无码片免费 | 激情久久av | 色婷婷av久久久久久久 | 欧美日韩片 | 亚洲激情区| 午夜影院在线免费观看 | 亚洲精品性 | 国产成人无码av一区二区 | 欧美日韩国产免费一区二区三区 | 又湿又紧又大又爽a视频国产 | 亚洲黄色小说视频 | 亚洲欧美不卡高清在线观看 | www.色女人 | 少妇高潮惨叫久久麻豆传 | 亚洲男人天堂av | 国产在线拍揄自揄视频网站 | 日韩三级视频在线播放 | 东京热无码中文字幕av专区 | 亚洲中文字幕无码爆乳 | 国产一区二区不卡在线看 | 欧美日韩精品在线一区二区 | 日本大乳高潮视频在线观看 | 午夜影院毛片 | 亚洲精品卡一卡2卡3卡4卡 | 久久这里都是精品 | 国产精品视频免费播放 | 欧美美女性生活视频 | 国产女人18毛片18精品 | 99re6在线观看国产精品 | 中文字幕免费 | 影音先锋人妻av中文字幕久久 | 又粗又大又黄又爽的免费视频 | 日韩黄色网 | 超碰人人超碰人人 | 内射老阿姨1区2区3区4区 | 国内熟妇人妻色无码视频在线 | 亚洲熟妇少妇任你躁在线观看无码 | 激情综合婷婷丁香五月蜜桃 | 久久综合色播 | 国产成人片无码免费视频软件 | 久艹在线播放 | 最新高清中文字幕免费mv | 色综合天天无码网站 | 99热在线精品免费全部my | 日韩伊人久久 | 亚洲综合无码一区二区 | 国产一级特黄毛片 | 在线观看不卡av | 亚洲精品精华液一区 | 亚洲天堂免费观看 | 99插插插 | 中文文字幕文字幕亚洲色 | 国模张文静啪啪私拍150p | 国产丝袜足j在线视频播放 久久鬼色 | 久久视频这里只有精品在线观看 | 国产九九久久99精品影院 | 国产精品无码av天天爽 | 日韩黄色在线 | 波多野结衣的av一区二区三区 | 五月天精品视频在线观看 | q欧美性猛交xxx7乱大交 | 日韩精品区一区二区三vr | 网站毛片| 国产综合色在线精品 | 综合色婷婷一区二区亚洲欧美国产 | 福利av在线| 国产精品综合久久久久久 | 伊人色综合网一区二区三区 | 国产精品无码永久免费不卡 | 成人av片在线观看免费 | 国产成人毛毛毛片 | 欧洲成人午夜免费大片 | 91丁香婷婷综合久久欧美 | 男女免费观看在线爽爽爽视频 | 一本色道久久综合亚洲 | 久久久男女 | 亚洲女人天堂成人av在线 | 黄在线看片免费人成视频 | 日本一本二本三区免费 | 色吧五月婷婷 | 欧美婷婷久久五月精品三区 | 欧美特黄在线观看 | 激情综合视频 | 亚洲卡一卡二卡三新区乱码 | 中出あ人妻熟女中文字幕 | 色琪琪一区二区三区亚洲区 | 亚洲精品第一国产综合国服瑶 | 噢美一级片 | 欧美肥妇毛多水多bbxx | 最新三级网站 | 国产污片在线观看 | 精品欧美一区二区三区 | 九九在线精品视频 | 影音先锋人妻啪啪av资源网站 | 日韩av大全 | 波多野结衣不打码视频 | 国产午夜伦伦午夜伦无码 | 亚洲精品久久久久av无码 | 中文字幕乱视频 | 一本岛在免费一二三区 | 乱人伦人妻中文字幕无码久久网 | 亚洲成人系列 | 91精品国产综合久久久密闭 | 无码制服丝袜人妻ol在线视频 | 中日躁夜夜躁 | 国产剧情无码播放在线观看 | 天堂最新资源在线 | 国产99视频精品免费视频7 | 香港三级精品三级在线专区 | 国产在热线精品视频99公交 | 久久成人成狠狠爱综合网 | 国产巨大爆乳在线观看 | 亚洲情a成黄在线观看 | 熟妇的奶头又大又长奶水视频 | ass亚洲曰本人体私拍ass | 中文字幕一区二区三区av | 久久久久99精品成人片欧美 | 四川少妇啪啪毛片 | 动漫成人无码精品一区二区三区 | 91免费网站在线观看 | 成人国产精品免费观看动漫 | 午夜爽爽久久久毛片 | 免费在线观看av网址 | 中文字幕亚洲一区 | 亚洲成色www久久网站 | 国产又a又黄又潮娇喘视频 精品伊人久久 | 日韩网红少妇无码视频香港 | 呦呦精品 | 国产精品久久久久久亚洲色 | 亚洲综合在线另类色区奇米 | 毛片最新网址 | 亚洲乱码卡一卡二卡新区豆 | 国产91丝袜在线18 | 天天色天天干天天 | 初尝人妻少妇中文字幕 | 在线免费精品视频 | 夜夜福利 | 日本中文字幕亚洲乱码 | 久久五月婷婷丁香 | 久久www人成免费产片 | 亚洲国产成人高清影视 | 欧美午夜精品久久久久免费视 | 精品国产一区二区三区久久狼 | 久久婷婷综合缴情亚洲狠狠 | 999在线观看视频 | www.夜色| 日韩欧美高清视频在线观看 | 无码精品国产一区二区免费 | 中文字幕不卡高清视频在线 | 女女百合av大片一区二区三区九县 | 久久精品农村毛片 | 亚洲另类激情视频 | 久久精品国产亚洲七七 | 中文字幕无码乱人妻 | 亚洲人成伊人成综合网无码 | 成人性午夜免费视频网站 | 亚洲女人体内精汇编 | 好爽毛片一区二区三区四 | 99热都是精品 | 天天操天天干天天爱 | 狠狠操狠狠摸 | 亚洲国产精品成人 | 成人午夜视频精品一区 | 成人三级a视频在线观看 | 免费看美女扒开屁股露出奶 | 国产精品爆乳在线播放 | 91碰碰| 小宝贝荡货啊用力水湿aⅴ视频 | 久久免费午夜福利院 | 开心激情久久 | 中文字幕在线影视 | 97se狠狠狠狠狼亚洲综合网 | 欧美丰满大白屁股喷水xxxx | 捏胸吃奶吻胸免费视频大软件 | 精品熟人妻一区二区三区四区不卡 | 一二三四社区在线中文视频 | 激情校园都市古典人妻 | 日韩精品一二 | 中文字幕av久久激情亚洲精品 | 欧美乱大交xxxxx疯狂俱乐部 | 中国农村少妇xxxx视频 | 天堂va欧美va亚洲va好看va | 一本加勒比hezyo日本变态 | av成人免费在线 | 4虎在线| 综合成人亚洲网友偷自拍 | 久久精品国产精品国产精品污 | 国产av亚洲精品久久久久李知恩 | 欧美激情一区二区三区 | 欧美日韩在线第一页免费观看 | 亚洲色图在线看 | 亚洲首页一区任你躁xxxxx | 熟女啪啪白浆嗷嗷叫 | 波多野结衣一区二区三区 | 在线点播亚洲日韩国产欧美 | 亚洲日本中文字幕一区二区三区 | 综合视频在线 | 在线免费观看av网址 | 久久亚洲精品11p | 精品人妻二区中文字幕 | 午夜又黄又爽 | 国产成人精品无缓存在线播放 | 国产精品久久久久久久久久久久午 | 97国产精品亚洲精品 | 亚洲精品亚洲人成在线下载 | 制服 丝袜 有码 无码 中文 | 男女互操视频 | 三级av在线 | 成人播放视频 | 亚洲变态另类天堂av手机版 | 久久国产色av免费看 | 日韩av夜夜人人澡人人爽 | 91在线精品视频 | 九九99九九精彩6 | 无码欧美毛片一区二区三 | 亚洲在av极品无码天堂手机版 | 久久久久久久黄色片 | 色欲麻豆国产福利精品 | 四虎影视www在线播放 | 欧美影视免费观看 | 免费在线一级片 | 91国偷自产中文字幕久久 | 亚洲中字幕日产av片在线 | 少妇china高潮∨jdao | 十八禁裸体www网站免费观看 | 国产91桃色在线观看网站 | 日韩精品视频在线观看视频 | 欧美一区二区三区红桃小说 | 中文字幕无码乱人伦在线 | 伊人网在线播放 | 在线观看欧美一区 | 免费观看一级特黄特色大片 | 国产人妻精品一区二区三区 | 欧美群p视频 | 99热官网 | 久久日韩乱码一二三四区别 | 亚洲日韩av片在线观看 | 最好看十大无码av | 不卡一区在线 | 特级a欧美做爰片三人交 | 国产美女高潮 | 伊人干综合 | 国产精品免费在线播放 | 亚洲欧美一区二区成人片 | 疯狂三人交性欧美 | 成人在线视频免费观看 | 亚洲男人av天堂午夜在 | 黄色va| 欧美极品jizzhd欧美仙踪林 | 亚洲欧美人成网站在线观看看 | 免费无码在线播放av | 99热在线这里只有精品 | 国产精品99久久久久久久女警 | 精品国产一区二区三区无码 | 亚洲精品一区二区另类图片 | 欧美性猛交xxxx免费视频软件 | 少妇被粗大的猛进出69影院 | a 成 人小说网站在线观看 | 久久久久久久久久久久久9999 | 国产 欧美 日韩 | 男女aa视频 | 六月丁香激情 | 欧美日韩在线视频免费播放 | 亚洲午夜久久久久久久久久久 | 又色又爽又黄的吃奶视频免费观看 | 日韩国产亚洲一区二区三区 | 亚洲福利视频在线 | 鲁鲁狠狠狠7777一区二区 | 性色av一区二区三区夜夜嗨 | www.羞羞视频 | 亚欧洲精品在线 | 欧美在线不卡视频 | 福利网址在线 | 亚州视频一区二区三区 | 十八岁以下禁止观看黄下载链接 | 免费国产又色又爽又黄的网站 | 日韩一区二区三区在线 | 99男女国产精品免费视频 | 成人无码视频在线观看网址 | 中国女人一级片 | 久久996re热这里只有精品无码 | 少妇免费视频 | 在线a亚洲视频播放在线观看 | 午夜高清国产拍精品福利 | 久久精品国产成人 | 97婷婷大伊香蕉精品视频 | 日本边添边摸边做边爱喷水 | 亚洲乱码在线观看 | 性视频免费看 | 久久av色欲av久久蜜桃网 | 婷婷综合缴情亚洲狠狠 | 国产偷窥熟女精品视频 | 久久国内精品自在自线观看 | 久久综合精品视频 | 欧美乱妇高清无乱码 | 亚洲中文字幕精品一区二区三区 | 亚洲第一成人在线 | 日韩欧美一区二区三区视频 | 久久婷婷综合激情亚洲狠狠 | 久久中文一区二区 | 国产免费一区二区三区在线播放 | 成人在线国产 | 在线观看成人黄色 | 最近中文字幕免费在线观看 | 亚洲人成在线影院 | 精品国产乱码久久久久久老虎 | 九九在线免费视频 | 农村女人乱淫免费视频麻豆 | jizz久久精品永久免费 | 亚洲国产av精品一区二区蜜芽 | 欧美污在线观看 | 日本高清无卡码一区二区久久 | 国产成人无码a区在线观看视频app | 日韩精人妻无码一区二区三区 | 午夜不卡无码中文字幕影院 | 日韩特黄一级欧美毛片特黄 | 精品福利在线视频 | 亚洲一二区在线观看 | 韩国黄色片网站 | 人成午夜大片免费视频77777 | 久久亚洲一区二区三区舞蹈 | 亚洲国产成人精品无码区在线 | 久久成人免费网 | 亚洲一线二线三线写真 | 国产精品亚洲а∨天堂123bt | 人妖无码 | 色婷婷综合久久久久中文 | 久久欧美一区二区三区性牲奴 | 四虎网站| 91特黄 | 黑人一区二区三区 | 无码精品人妻一区二区三区av | 第一福利官方导航 | 国产裸体永久免费无遮挡 | 亚洲看片网站 | 亚洲 欧美 国产 动漫 综合 | 学生丨6一毛片 | 人体毛片 | 69久久成人精品 | 成年无码一区视频 | 伊人一级 | 强行无套内谢大学生初次 | www.玖玖玖| 特黄做受又粗又大又硬老头 | 成人午夜视频在线观看 | 菠萝菠萝蜜午夜视频在线播放观看 | 色偷偷91 | 中文字幕观看在线 | 亚洲欧美成人在线 | 男人天堂视频网站 | 中国少妇初尝黑人巨高清 | 中文字幕日本最新乱码视频 | 久久在草| 国产情侣自拍小视频 | 欧美亚洲国产成人一区二区三区 | 久久久久久久18 | 成人午夜片av在线看 | 丁香六月婷婷 | 国产精品女教师久久二区二区 | 精品国产免费人成电影在线看 | 国产免费美女视频 | 久操这里只有精品 | 日本手机看片 | 又色又爽又黄无遮挡的免费观看 | 超碰97人人人人人蜜桃 | 欧美激情一区二区三区aa片 | 久久精品中文字幕无码绿巨人 | 欧美国产日本高清不卡 | 亚洲在线中文字幕 | 婷婷五月在线视频 | 91精品日产一二三区乱码 | 欧美福利视频网站 | 中国黄色片视频 | 日日噜噜夜夜爽爽 | 国产美女脱的黄的全免视频 | 中文字幕一区二区三区久久网站 | 亚洲愉拍自拍另类天堂 | 亚洲欧洲日产国码无码app | caoporn国产免费人人 | 国内成人av | 日韩欧美中文在线视频 | 亚洲va中文字幕无码毛片 | 日本激情在线观看 | 夜夜艹天天干 | 瑜伽裤国产一区二区三区 | 嫩草一二三 | 欧美乱淫视频 | 色成人www精品永久观看 | 男女超爽视频免费播放 | 99视频在线精品免费观看2 | 久久精品国产丝袜人妻 | 高清视频一区二区 | 92av视频| 欧美一a一片一级一片 | 国内av一区二区 | 91视频老司机 | 成人免费黄色片 | 精品国产男人的天堂久久 | 亚洲人成网站999久久久综合 | 精品国产一区二区三区四区精华液 | 日日噜噜夜夜狠狠久久丁香五月 | 国产成人午夜在线视频极速观看 | 亚洲熟妇国产熟妇肥婆 | 亚洲一区二区三区av在线观看 | av大片在线无码永久免费 | 国产女人与拘做视频免费 | 丁香五月婷激情综合第九色 | 男女啪啪高清无遮挡免费 | 亚洲爱| 国产又色又爽又黄的网站免费 | 99久久免费精品国产男女性高好 | 9l视频自拍九色9l视频九色 | 久草欧美视频 | 亚洲精品国产精品国产自2022 | 在线观看免费视频黄 | 国产精品亚洲专区无码影院 | 美女自卫视频 | 99久久香蕉| 精品一区在线 | 国产成人综合亚洲精品 | 国产成人综合在线视频 | 性色香蕉av久久久天天网 | 手机av免费看 | chien国产乱露脸对白 | 一级免费看视频 | 精品国产18久久久久久二百 | 久久的爱久久久久的快乐 | 人妻无码久久精品 | 在线观看午夜 | 爱情岛论坛首页永久入口 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久久久久逼 | 色综合五月天 | 夜色视频在线观看 | 国产精品尹人在线观看 | 国产男女做爰免费网站 | 中文字幕精品亚洲 | 国产又黑又粗又黄又爽对白 | 波多野结衣av一区二区无码 | 久99久无码精品视频免费播放 | 精品麻豆剧传媒av国产 | 高清破外女出血av毛片 | 精品无码综合一区二区三区 | 偷偷操不一样的久久 | 伊人网免费视频 | 夜色福利院在线观看免费 | 成人美女黄网站色大色费全看在线观看 | 亚洲乱亚洲乱妇18p 亚洲国产精品激情综合图片 | aa在线| 色人阁在线视频 | 国产乱码精品一区二区三区中文 | 精品少妇久久 | 日韩第八页 | 日本私人vps一夜爽毛片 | 亚洲精品视频在线 | 动漫美女露胸网站 | 国精品无码人妻一区二区三区 | 天天摸天天爽日韩欧美大片 | av无码爆乳护士在线播放 | 美日韩一区 | 国产免费av片在线 | 久久五 | 日本熟妇xxxx潮喷视频 | 神马午夜91 | 久久久久久亚洲精品不卡 | 色婷婷一区二区三区四区 | 亚洲码视频| 91看片淫黄大片在线天堂最新 | 在线观看免费黄网站 | 亚洲精品国产首次亮相 | 欧洲熟妇色 欧美 | 欧美成人看片一区二三区图文 | 国产第8页| 人妻av无码系列一区二区三区 | 人妻精品久久久久中文字幕 | 日本三级影院 | 亚洲精品国产成人无码区a片 | 天天综合色天天综合色hd | 成年美女黄的视频网站 | 精品久久久中文字幕二区 | 伊人狠狠操 | 女人的天堂网站 | 国产美女在线精品免费观看 | 台湾福利片 | 中文在线视频 | 日韩av免费一区二区 | 欧美岛国国产 | 久久精品无码专区免费东京热 | 69久久精品无码一区二区 | 中文成人无字幕乱码精品区 | av色影院 | 欧美精品区 | 国产成人精品高清在线观看99 | 欧日韩在线视频 | 999久久国精品免费观看网站 | 精品久久久久一区二区国产 | av免费入口 | 二区影院 | 中文字幕在线视频免费 | 免费精品视频在线观看 | 丝袜足控一区二区三区 | 欧洲精品成人免费视频在线观看 | 少妇荡乳 | 日韩精品视频在线看 | 激情文学在线 | 亚洲成a人片77777群色 | 成x99人av在线www | 91色呦呦| 国产伦子系列沙发午睡 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 日日摸日日碰夜夜爽久久四季 | 黑人巨茎精品欧美一区二区 | www一区二区乱码www | 国产精品久久人妻无码网站蜜臀 | 日日拍夜夜嗷嗷叫国产 | 国产高潮又爽又刺激的视频 | 91九色在线观看 | 国产亚洲精品拍拍拍拍拍 | 哺乳媛交吃奶在线播放 | 亚洲国产一区二区三区精品 | 91一区二区三区四区 | m youjizz| 欧美成人黄色片 | 69精品欧美一区二区三区 | 国产自产v一区二区三区c | 调教重口xx区一精品网站 | 亚洲狠狠干 | 99精品视频在线免费观看 | 欧美亚洲国产另类 | 激情欧美一区二区 | 日韩中文字 | 国产精品 人妻互换 | 精品日产卡一卡二卡927 | dy888亚洲精品一区二区三区 | 久久99热这里只有精品66 | 可以直接看av的网址 | 热久久最新 | 99re6在线精品视频免费播放 | 一级特黄少妇高清毛片 | 黑人大战日本人妻嗷嗷叫 | 国产毛片久久 | 精品视频亚洲 | 久草视频手机在线观看 | 少妇丰满大乳被男人揉捏视频 | a∨在线观看 | 精品久久久噜噜噜久久久 | 亚洲3dmax成人 | 日日爱视频 | 亚洲精品一区二区三区四区手机版 | 爽欲亲伦97部 | 国产a∨精品一区二区三区不卡 | 国产suv精品一区二区883 | 夏目彩春av一凶二区在线播效 | 亚洲综合色成在线观看 | 91精品免费 | 五月依人网 | 国产美女遭强高潮免费 | 久久人人爽人人爽人人片av不 | 少妇又紧又爽又黄的视频 | 国产成人av在线免播放观看新 | 免费的av网站在线观看国产精品 | 伦人伦xxxx精彩对白 | 色欲麻豆国产福利精品 | 亚洲精品无码一区二区三区久久久 | 91视频在线观看网站 | 国产精品久久久久一区二区三区 | 天堂av最新网址 | 国产午夜毛片v一区二区三区 | 亚洲国产精品婷婷 | 91精品国产亚一区二区三区老牛 | 亚洲国产成人精品无码区花野真一 | 日本www一道久久久免费 | 亚洲www天堂com | 日本熟妇中文字幕三级 | 色花av| 亚洲精品人成无码中文毛片 | 一本色道久久88—综合亚洲精品 | 久久国产精品精品国产色婷婷 | 日韩精品免费一区二区三区 | 久久久www免费人成黑人精品 | 尤物视频在线观看 | 久久九九国产精品怡红院 | 欧美亚洲综合色 | 亚洲精品无码av中文字幕 | 午夜片少妇无码区在线观看 | 高清国产天干天干天干不卡顿 | 亚洲一区二区三区波多野结衣 | 日本欧美高清视频 | 亚洲欧美丝袜精品久久 | 亚洲一二区制服无码中字 | 久久国产精 | 久久久久久美女 | 国产精品自在拍首页视频8 亚洲一区二区三区尿失禁 中文在线а√天堂官网 | av成人在线网站 | 4484在线观看视频 | 黑人操日本人 | 亚洲精品国偷拍自产在线观看 | 激情文学在线 | 亚洲精品国产精品乱码不66 | 爱爱毛片 | 欧美日韩不卡在线 | 欧美一区二区在线看 | 尤物蜜芽国产成人精品区 | 国产视频欧美视频 | 搡女人真爽免费视频网站波兰美女 | 风流老熟女一区二区三区 | 亚洲成人99 | 久久91亚洲精品中文字幕奶水 | 久久99热婷婷精品一区 | 欧美在线播放一区二区 | 亚洲欧洲日韩综合 | yy6080久久伦理一区二区 | 午夜寻花在线观看 | 久久久久国产精品夜夜夜夜夜 | 欧美亚洲国产第一精品久久 | 国产精品国产精品国产专区不卡 | 亚洲国产成人av好男人在线观看 | 亚洲欧美综合另类自拍 | 亚洲精品国产精品国自产小说 | 欧美一区二区三区久久综合 | av人摸人人人澡人人超碰下载 | 成人在线观看黄色 | 97在线成人国产在线视频 | 绯色av中文字幕一区三区 | 蜜臀aⅴ精品一区二区三区 99久久久精品免费观看国产 | 亚洲欧美高清一区二区三区 | 色多多在线| 特级毛片a片久久久久久 | 2020国产精品精品国产 | 日韩综合色 | 亚洲 自拍 色综合图区一 | 国产又粗又硬又大爽黄老大爷视频 | av手机在线播放 | 伊人色综合久久天天人手人婷 | 久久精品国产69国产精品亚洲 | 国产人成亚洲第一网站在线播放 | 妺妺窝人体色www在线小说 | 亚洲无人区一区二区三区 | 国产欧美日韩在线观看一区二区 | 131美女mm爱做爽爽爽视频 | 国产精品女同久久久久电影院 | 天天插插插 | 欧美性生交xxxx久久久 | 欧洲丰满大乳人妻无码欧美 | 泽村玲子在线观看 | 欧美视频一区二区三区四区在线观看 | 色噜噜狠狠成人中文 | av毛片在线播放 | 92成人午夜福利一区二区 | 色综合激情网 | 偷拍中国夫妇高潮视频 | 女人与牲口性恔配视频免费 | 福利视频自拍 | 日韩精品一区国产偷窥在线 | 中国精品少妇hd | 99热这里只有精品最新地址获取 | 天天综合网在线观看视频 | 成人久久久精品国产乱码一区二区 | 丰满岳跪趴高撅肥臀尤物在线观看 | 一品二品三品中文字幕 | 啪视频网站 | 国产成人精品无缓存在线播放 | 一级免费黄色 | 久久亚洲国产精品成人av秋霞 | 国产精品毛片完整版视频 | 熟妇人妻无码中文字幕老熟妇 | youjizz.com在线观看 | 国产乱妇视频 | 国产91 在线播放 | 久久99精品久久水蜜桃 | 久久激情亚洲 | 婷婷色人阁 | 国产免费视频在线 | 亚洲乱码卡一卡二卡新区中国 | 国产精品自在在线午夜免费 | 中国国产免费毛卡片 | 国产成人剧情av麻豆果冻 | 成人拍拍拍无遮挡免费视频 | 国产超碰人人模人人爽人人添 | 色喜国模李晴超大尺度 | 免费黄色在线网址 | 色狠狠av老熟女 | 成人一级毛片 | 成人免费无码不卡毛片 | 一卡二卡3卡4卡视频免费播放 | 国产高清在线男人的天堂 | 911爱豆传媒国产 | 麻豆人妻少妇精品无码专区 | 97久久综合亚洲色hezyo | 久久综合网址 | 久久综合综合 | 日本精品视频在线观看 | 一级全黄少妇性色生活片毛片 | 无码人妻熟妇av又粗又大 | 欧美黑人猛交 | 久久中文字幕人妻熟女 | 九九99九九精彩6 | 日本中文字幕免费观看 | 四虎精品影视 | 精品久久久久久综合日本 | 熟妇高潮精品一区二区三区 | 无码少妇精品一区二区免费动态 | 秋霞av亚洲一区二区三 | 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品推荐天天看天天爽 | 日韩高清在线中文字带字幕 | 国产伦精品一区二区三区视频孕妇 | 国产热a欧美热a在线视频 | 精品国产鲁一鲁一区二区张丽 | 2020最新无码国产在线观看 | 欧美日本国产va高清cabal | 在线一二区 | 从背后进入你的世界小说免费阅读 | 精品国产_亚洲人成在线 | 日产国产亚洲a | 一本色道久久综合亚洲精品婷婷 | 91精品视频网 | 精久久久久 | 国产小视频免费 | 午夜伦4480yy私人影院 | 做爰xxxⅹ性生交 | 中文字幕乱码亚洲无线码 | 国产999久久久 | 日韩69av | 久久91亚洲精品中文字幕奶水 | 手机av在线网站 | 色婷婷亚洲婷婷五月 | 日本少妇乱xxxxx | 青青草原成人网 | 美女被抽插到哭内射视频免费 | 第一福利在线视频 | 午夜三级在线观看 | 对白脏话肉麻粗话av | 无码人妻一区二区三区四区av | 一级片免费在线播放 | 亚洲成人影音 | 国产精品色视频 | ady狠狠躁免费视频 日日日干干干 | 欧美嘿咻视频 | 中文字幕亚洲高清 | 18级成人毛片免费观看 | 伊人一区二区三区 | 亚洲人成网站在线播放2019 | 蜜色av| 欧美毛片无码又大又粗黑寡妇 | 麻豆日产精品卡2卡3卡4卡5卡 | 中文字幕亚洲综合小综合在线 | av大片在线无码永久免费网址 | 日本a级片免费 | 国产嫩草影院久久久 | 揉丰满老妇老女人的毛片 | 久久xxxx | 久久国产精品99久久人人澡 | 97性视频| 日韩精品成人无码专区免费 | 亚洲色在线无码国产精品不卡 | 性猛交ⅹxxx乱大交孕妇 | 国产成人精品亚洲日本在线桃色 | 免费看涩涩 | 亚洲午夜成人精品无码 | 亚洲99影视一区二区三区 | 国产精品玩偶在线观看 | 国产做无码视频在线观看 | 亚洲人av高清无码 | 91丨九色丨91啦蝌蚪老版 | 超碰人人射 | 91精品国产99久久久 | 精品少妇人妻av久久久 | 色欲色香天天天综合网站免费 | 久久大香伊蕉在人线国产h 国产乱码人妻一区二区三区四区 | 欧美人与牲禽动a交精品 | www.成人精品免费网站青椒 | 久草资源福利 | 国产成人久久精品 | 久久九九国产 | 一级久久久久 | 久久嫩草精品久久久精品 | 第一亚洲中文久久精品无码 | 无码人妻精品一区二区三区99仓本 | 超碰cao草棚gao进入蜜桃 | 四虎在线视频免费观看 | 天天做日日做天天做 | 精品人妻中文无码av在线 | 在线中文视频 | 性调教炮机捆绑爆浆喷水 | 成人午夜又粗又硬又长 | 国产初高中生真实在线视频 | 又黄又爽又色的视频 | 欧美 成人 亚洲 动漫 另类 | 男女草比视频 | 一二三四在线视频观看社区 | 无码国产精品一区二区免费久久 | 国产精品久久自在自线青柠 | jzzijzzij日本成熟丰满少妇 | 少妇人妻精品一区二区三区 | 国产又色又爽又刺激在线播放 | 国产精品5区 | 伊人七七| 伊人啪啪 | 国产精品va在线观看无码不卡 | 永久免费在线播放 | 中文字幕一区日韩精品 | 狠狠做深爱婷婷综合一区 | 在线播放亚洲人成电影 | 午夜在线视频观看 | 五月天婷婷色 | 国产精品无码专区在线观看 | 国产精品爽爽久久 | 久久www成人看片免费不卡 | 久久久久久欧美 | 特黄特级毛片免费视频 | 亚洲v国产 | 国产夫妻自拍一区 | 五月婷婷之婷婷 | 成人深夜福利视频 | 亚洲精品无码永久电影在线 | 东京热一区二区三区无码视频 | 欧美日韩欧美日韩在线观看视频 | 欧美精品国产综合久久 | 国产欧美一区二区精品性色超碰 | 久久资源总站 | 国产 日韩 中文字幕 制服 | 天天澡夜夜澡狠狠久久 | 亚洲情侣在线 | 成人免费视频国产 | 永久免费无码网站在线观看 | 国产精品30p| 天堂资源在线官网 | 99re6这里有精品热视频 | 成人免费午夜福利片在线观看 | 99精品国产乱码久久久久 | 中国大陆精品视频xxxx | 免费视频国产在线观看 | 欧美日韩在线免费观看视频 | 萌白酱一区二区 | 免费久久网站 | 国产精品女主播主要上线 | 亚洲中文字幕av每天更新 | 么公的好大好硬好深好爽视频 | 一区二区看片 | 男女下面一进一出无遮挡 | 午夜在线一区二区 | 四虎最新紧急更新地址 | 黄色精品在线 | 亚洲国产成人久久综合一区,久久久国产99 | 干干干操操操 | 久久99视频| 色人阁导航 | 国产精品午夜影院 | 天堂а√在线最新版在线 | 亚洲久久久久久中文字幕 | 一色桃子656中文字幕 | 色交视频| 国产欧美性| 51调教丨国产调教视频 | 日本末发育嫩小xxxx | 久久久精品综合 | 亚洲精品久久久久中文字幕一福利 | 少妇传媒| 欧美九九| 欧美在线激情视频 | 日本丰满熟妇videossex | 东京无码熟妇人妻av在线网址 | 欧美高清freexxxx性 | 男男女女爽爽爽免费视频 | 成年免费a级毛片 | 乱码精品一卡二卡无卡 | 国产一区二区在线播放视频 | 一级一毛片 | 午夜福利国产在线观看1 | a级毛片蜜桃成熟时2在线播放 | 亚洲国产欧美一区 | 欧州色网 | 日批视频网站 | 播放灌醉水嫩大学生国内精品 | 欧美牲交a欧美牲交aⅴ图片 | 亚洲国产午夜精品理论片妓女 | 理论片91| 久久夜夜操妹子 | 制服丨自拍丨欧美丨动漫丨 | 久久久日韩精品一区二区 | 日韩精品一区二区三区中文 | 超碰cao草棚gao进入蜜桃 | 精品国模一区二区三区 | 嫖妓丰满肥熟妇在线精品 | 日韩亚洲欧美在线com | 九九在线精品国产 | 91综合国产 | 亚洲国产中文字幕 | 97夜夜澡人人波多野结衣 | 欧美精品久久久 | 一本大道香蕉大a√在线 | 精品久久久久一区 | 亚洲黄色片在线观看 | 中文字幕国产一区 | 国产日韩av一区二区 | 中文字幕在线观看视频一区 | 精品国产伦 | 女同互慰高潮呻吟免费播放 | 日韩欧美一区二区三区, | 无码国产69精品久久久久网站 | 亚洲 暴爽 av人人爽日日碰 | 亚洲综合最新无码2020av | 亚洲国产精品无码专区影院 | 大辣椒福利视频导航 | 免费毛片一区二区三区久久久 | 一色屋免费视频 | 亚洲精品乱码久久久久久写真 | 亚洲一区无码精品色 | 亚洲va中文字幕无码一二三区 | 在线视频网 | 春宵福利网站 | 成人精品一区二区三区中文字幕 | 欧美性高潮 | 在线黄色毛片 | 久久国产avjust麻豆 | 免费va人成视频网站全 | 自拍偷自拍亚洲精品被多人伦好爽 | 黄色成年人视频 | 激情久久av | 午夜免费啪 |