日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

哈夫曼编码(Huffman)Java实现代码

發布時間:2025/4/16 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哈夫曼编码(Huffman)Java实现代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上找到的一個組Huffman編碼Java實現代碼,比較經典。

1、主類,壓縮和解壓

package cn.hm;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class HZIP { /** * 壓縮文件的方法,此方法需要傳入正確的絕對路徑名 * @param inFile 需要被壓縮的文件 * @param outFile 壓縮之后的輸出文件 * @throws IOException IO異常 */ public static void compress(String inFile,String outFile) throws IOException{ String compressFile=null;//創建壓縮文件 String extension=inFile.substring(inFile.length()-4);//獲取源文件的后綴名 File file=new File(outFile); //如果文件已經存在 if(file.exists()){ System.out.println("文件已經存在"); }else{ //自動補齊后綴名 if(!outFile.endsWith(".hfm")){ compressFile=outFile+extension+".hfm"; } else{ compressFile=outFile+extension; } //創建文件輸入的緩沖流 InputStream in=new BufferedInputStream(new FileInputStream(inFile)); //創建文件輸出的緩沖流 OutputStream out=new BufferedOutputStream(new FileOutputStream(compressFile)); int ch; //創建哈弗曼壓縮的輸入流 HZIPOutputStream hzout=new HZIPOutputStream(out); while((ch=in.read())!=-1){ hzout.write(ch); } //關閉流 in.close(); hzout.close(); } } /** * 解壓文件的方法,此方法需要填入正確的絕對路徑名 * @param compressedFile 需要被解壓的文件 * @param outFile 解壓之后的輸出文件 * @throws IOException IO異常 */ public static void uncompress(String compressedFile,String outFile) throws IOException{ String extension;//文件的后綴名 extension =compressedFile.substring(compressedFile.length()-4); //得到壓縮前的文件的后綴名 String suffix=compressedFile.substring(compressedFile.length()-8,compressedFile.length()-4); //如果文件不合法則不執行解壓操作 if(!extension.equals(".hfm")){ System.out.println("文件格式錯誤或者不是有效的壓縮文件"); return; } File file=new File(outFile); //如果已經存在同名文件 if(file.exists()){ System.out.println("該文件已經存在,請重新命名解壓后的文件"); } else{ outFile+=(suffix+".uc");//輸出文件的格式統一為uc格式 //創建文件輸入的緩沖流 InputStream fin=new BufferedInputStream(new FileInputStream(compressedFile)); //創建數據讀入流 DataInputStream in=new DataInputStream(fin); //創建哈弗曼壓縮輸入流 HZIPInputStream hzin=new HZIPInputStream(in); //創建文件輸出的緩沖流 OutputStream fout=new BufferedOutputStream(new FileOutputStream(outFile)); int ch; //解壓并輸出文件 while((ch=hzin.read())!=-1){ fout.write(ch); } //關閉流 hzin.close(); fout.close(); } } public static void main(String args[]) throws IOException{ System.out.println("開始壓縮"); long start=System.currentTimeMillis(); compress("d://tmp/ori.txt","d://tmp/des"); System.out.println("壓縮結束,用時:"+(System.currentTimeMillis()-start)); System.out.println("開始解壓"); start=System.currentTimeMillis(); uncompress("d://tmp/des.txt.hfm","d://tmp/ori1"); System.out.println("解壓結束,用時:"+(System.currentTimeMillis()-start));} }

2、字符頻度統計類

package cn.hm;/** * 字符統計類,獲取輸入流(通常是文件)中所含的字符數 * 8位字節認為是ASCII字符 */ import java.io.IOException; import java.io.InputStream; public class CharCounter { //字節的下標表示字節的種類,對應的值表示出現的次數 private int theCounts[]=new int[BitUtils.DIFF_BYTES];//字節的種類總共有256種 /** * 默認的無參的構造方法 */ public CharCounter(){ } /** * 封裝了基本的InputStream,讀取數據并進行字符的頻次統計 * @param input InputStream對象 * @throws IOException */ public CharCounter(InputStream input) throws IOException{ int ch;//讀到的字節 //一直讀到文件的末尾,每一種byte出現了多少次 while((ch=input.read())!=-1){ theCounts[ch]++; } } /** * 獲取該字符統計數組的某一個字符出現的次數 * @param ch 數組下標 * @return 該下標位置字符出現的次數 */ public int getCount(int ch){ return theCounts[ch&0xff]; } /** * 設置某一個字符出現的次數 * @param ch 數組下標 * @param count 字符出現次數 */ public void setCount(int ch,int count){ theCounts[ch&0xff]=count; } }

3、Huffman樹編碼類

package cn.hm;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.util.PriorityQueue; public class HuffmanTree { private CharCounter theCounts;//字符統計類對象 private HuffNode root;//根結點 private HuffNode[] theNodes=new HuffNode[BitUtils.DIFF_BYTES+1];//存儲HuffNode的數組 public static final int ERROR=-3;//錯誤 public static final int INCOMPLETE_CODE=-2;//不完全的結點編碼 public static final int END=BitUtils.DIFF_BYTES;//字節的溢出位 /** * 實例化一個字符統計類對象 */ public HuffmanTree(){ theCounts=new CharCounter(); root=null; } /** * 可以通過CharCounter對象來創建一個huffmanTree對象 * @param cc CharCounter對象 */ public HuffmanTree(CharCounter cc){ theCounts=cc; root=null; createTree();//創建HuffmanTree } /** * 得到要尋找的字符編碼所在的樹結點,如果該字符不在樹上,則返回null表示出錯,否則,通過父親鏈逆向查找,直到到達根結點 * @param ch 當前結點的下標 * @return 結點相對的字符編碼數組 */ public int[] getCode(int ch){ HuffNode current=theNodes[ch]; if(current==null) return null; String v="";//結點的編碼 HuffNode parent=current.parent; while(parent!=null){ if(parent.left==current) v="0"+v;//左結點編碼 else v="1"+v;//右結點編碼 //向下遍歷 current=current.parent; parent=current.parent; } int len=v.length(); int [] result=new int[len];//創建一個與編碼相同大小數組 for(int i=0;i<len;i++) result[i]=v.charAt(i)=='0'?0:1; return result; } /** * 獲取編碼對應的字符 * @param code 哈弗曼編碼 * @return 存儲在結點中的值(如果結點不是葉子結點,則返回符號INCOMPLETE) */ public int getChar(String code){ HuffNode leaf=root;//獲取根結點 int len=code.length(); //按照編碼向左或向右遍歷到葉子結點 for(int i=0;leaf!=null&&i<len;i++) if(code.charAt(i)=='0') leaf=leaf.left; else leaf=leaf.right; //根結點為空 if(leaf==null) return ERROR; return leaf.value; } /** * 寫入編碼表的方法 * @param out 寫入的數據流 * @throws IOException */ public void writeEncodingTable(DataOutputStream out) throws IOException{ for(int i=0;i<BitUtils.DIFF_BYTES;i++){ if(theCounts.getCount(i)>0){ out.writeByte(i);//將字節寫入(通常是文件) out.writeInt(theCounts.getCount(i));//將字節出現的次數寫入(通常是文件) } } //最后寫入0表示編碼的結束 out.writeByte(0); out.writeInt(0); } /** * 讀取編碼表的方法 * @param in 數據輸入流對象 * @throws IOException */ public void readEncodingTable(DataInputStream in) throws IOException{ for(int i=0;i<BitUtils.DIFF_BYTES;i++) theCounts.setCount(i, 0); byte ch; int num; for(;;){ ch=in.readByte();//讀到的字節 num=in.readInt();//字符出現的次數 if(num==0)//如果讀到0表示編碼表的結束 break; theCounts.setCount(ch, num); } createTree();//創建HuffmanTree } /** * 構造哈弗曼編碼樹的方法 */ public void createTree(){ //創建一個優先隊列來保存HuffNode PriorityQueue<HuffNode> pq=new PriorityQueue<HuffNode>(); for(int i=0;i<BitUtils.DIFF_BYTES;i++){ if(theCounts.getCount(i)>0){//如果某一個字節出現過 HuffNode newNode=new HuffNode(i,theCounts.getCount(i),null,null,null); theNodes[i]=newNode; pq.add(newNode);//將新結點添加到隊列中 } } theNodes[END] =new HuffNode(END,1,null,null,null); pq.add(theNodes[END]); //當剩余的結點多于一個時 while(pq.size()>1){ //每次取出當前最小的兩個結點 HuffNode n1=pq.remove();//remove方法與poll方法的唯一不同之處在于:此隊列為空時將拋出一個異常 HuffNode n2=pq.remove(); //將最小的兩個結點鏈接形成新結點 HuffNode result=new HuffNode(INCOMPLETE_CODE,n1.weight+n2.weight,n1,n2,null); n1.parent=n2.parent=result; //將新結點添加到隊列當中 pq.add(result); } root=pq.element();//根結點就是隊列中的最后一個結點 } } package cn.hm;/** * 哈弗曼結點類 */ public class HuffNode implements Comparable<HuffNode>{ public int value;//結點數據 public int weight;//權重 HuffNode left,right;//左右孩子結點 HuffNode parent;//父親結點 /** * 初始化結點的數據,權重,左右孩子結點與父親結點 * @param v 數據 * @param w 權重 * @param lchild 左孩子結點 * @param rchild 右孩子結點 * @param pt 父親結點 */ HuffNode(int v,int w,HuffNode lchild,HuffNode rchild,HuffNode pt){ value=v; weight=w; left=lchild; right=rchild; parent=pt; } /** * 比較兩個結點的權重 */ public int compareTo(HuffNode rhs) { return weight-rhs.weight; } }

4、輸入輸出輔助類

package cn.hm;/** * 包含壓縮的包裝類 */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; public class HZIPOutputStream extends OutputStream{ private ByteArrayOutputStream byteOut=new ByteArrayOutputStream();//實例化的一個字節數組輸出流對象 private DataOutputStream dout;//數據輸出流對象 /** * 實例化一個DataOutputStream對象的構造方法 * @param out 輸出流對象 * @throws IOException */ public HZIPOutputStream(OutputStream out) throws IOException{ dout=new DataOutputStream(out); } /** * 寫入編碼頻率的方法 */ public void write(int ch) throws IOException{ byteOut.write(ch); } /** * 關閉流的方法 */ public void close() throws IOException{ byte[] theInput=byteOut.toByteArray();//將字節數組輸出流轉換數據轉換成字節數組進行輸入 ByteArrayInputStream byteIn=new ByteArrayInputStream(theInput);//將字節數組封裝到字節輸入流中 CharCounter countObj=new CharCounter(byteIn);//實例化字符統計對象并統計字節數組的字符出現的次數 byteIn.close();//關閉字節輸入流 HuffmanTree codeTree=new HuffmanTree(countObj);//通過CharCounter對象實例化一個HuffmanTree對象 codeTree.writeEncodingTable(dout);//將編碼寫入數據輸出流中 BitOutputStream bout=new BitOutputStream(dout);//創建位輸出流 //將按編碼轉換后的位寫入 int len=theInput.length; for(int i=0;i<len;i++) bout.writeBits(codeTree.getCode(theInput[i]&0xff)); bout.writeBits(codeTree.getCode(BitUtils.EOF));//文件結束的標示符 //關閉流 bout.close(); byteOut.close(); } }
package cn.hm; /** * 包含解壓縮的包裝類 */ import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; public class HZIPInputStream extends InputStream{ private BitInputStream bin;//位輸入流 private HuffmanTree codeTree;//編碼的HuffmanTree對象 /** * 封裝InputStream對象,實例化HuffmanTree對象與BitInputStream對象,并讀入哈弗曼編碼 * @param in * @throws IOException */ public HZIPInputStream(InputStream in) throws IOException{ //數據輸入流 DataInputStream din=new DataInputStream(in); codeTree=new HuffmanTree(); codeTree.readEncodingTable(din); bin=new BitInputStream(in); } /** * 讀取文件的方法 */ public int read() throws IOException{ String bits="";//哈弗曼編碼的字符串 int bit;//位 int decode;//解碼后的字符 while(true){ bit=bin.readBit(); if(bit == -1) throw new IOException("Unexpected EOF");//意外的資源結束 bits+=bit; decode=codeTree.getChar(bits);//獲取編碼對應的字符 if(decode==HuffmanTree.INCOMPLETE_CODE)//向下搜索到葉子結點 continue; else if(decode==HuffmanTree.ERROR)//編碼出錯 throw new IOException("Unexpected error"); else if(decode==HuffmanTree.END)//編碼溢出 return -1; else return decode; } } /** * 關閉輸入流 */ public void close() throws IOException{ bin.close(); } }
package cn.hm;/** * InputStream的包裝類,提供按位輸入 */ import java.io.IOException; import java.io.InputStream; public class BitInputStream { private InputStream in;//基本輸入流 private int buffer;//byte緩沖區 private int bufferPos;//表示緩沖區中有多少未被使用的空間 /** * 封裝InputStream的構造方法,初始化byte緩沖區的大小 * @param is InputStream對象 */ public BitInputStream(InputStream is){ in=is; bufferPos=BitUtils.BITS_PER_BYTES;//初始化緩沖區的剩余空間 } /** * 讀取一位的方法,每8次對其進行調用就會從基本輸入流中讀出一個byte * @return 1位數據,1或者0 * @throws IOException */ public int readBit() throws IOException{ //如果緩沖區還未被使用 if(bufferPos==BitUtils.BITS_PER_BYTES){ //輸入流讀取一位 buffer=in.read(); //讀到文件的末尾了 if(buffer==-1) return -1; //清空緩沖區 bufferPos=0; } //擴張緩沖區 return getBit(buffer,bufferPos++); } /** * 關閉輸入流 * @throws IOException */ public void close() throws IOException{ in.close(); } /** * 獲取一個byte中每一位的方法 * @param pack * @param pos * @return */ private static int getBit(int pack,int pos){ //將一個字節進行8次按位與運算,得到這個字節的8位 return (pack&(1<<pos))!=0?1:0; } }
package cn.hm;/** * OutputStream的包裝類,提供按位輸出的方法 */ import java.io.IOException; import java.io.OutputStream; public class BitOutputStream { private OutputStream out; //基本輸出流 private int buffer;//輸出的緩沖區 private int bufferPos;//緩沖區中剩余的位數 /** * 封裝OutputStream的構造方法,初始化緩沖區大小 * @param os */ public BitOutputStream(OutputStream os){ bufferPos=0; buffer=0; out=os; } /** * 寫入一串的位 * @param val 包含有位數據的數組 * @throws IOException */ public void writeBits(int []val) throws IOException{ int len=val.length; for(int i=0;i<len;i++){ writeBit(val[i]); } } /** * 寫入位的方法(0或1),每8次對其進行調用就從基本流中寫入一個byte * @param val 當前寫入的位數據 * @throws IOException */ public void writeBit(int val) throws IOException{ buffer=setBit(buffer,bufferPos++,val);//將緩沖數據轉換成位數據 //每讀到一個byte就刷新一次 if(bufferPos==BitUtils.BITS_PER_BYTES)//緩沖區已滿則刷新緩沖區 flush(); } /** * 刷新此緩沖的輸出流 * @throws IOException */ public void flush() throws IOException{ if(bufferPos==0)//如果緩沖中沒有數據則不執行 return; //將緩沖區中的數據寫入 out.write(buffer); //重置緩沖區 bufferPos=0; buffer=0; } /** * 關閉流的方法 * @throws IOException */ public void close() throws IOException{ flush(); out.close(); } /** * 進行位數據轉換的方法 * @param pack * @param pos * @param val 當前位 * @return */ private int setBit(int pack,int pos,int val){ if(val==1) //按位或運算 pack|=(val<<pos); return pack; } }
package cn.hm;public interface BitUtils {public static final int BITS_PER_BYTES=8;//位與byte之間的轉換單位 public static final int DIFF_BYTES=256;//0x100 public static final int EOF=256;//EndOfFile 資料源無更多的資料可讀取 }


總結

以上是生活随笔為你收集整理的哈夫曼编码(Huffman)Java实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天操天天射天天添 | 欧美aa级| 久久综合九色综合网站 | 成人黄色片免费 | 99精品国产99久久久久久福利 | 一级黄色片在线观看 | 免费在线观看不卡av | 日韩午夜av电影 | 欧美日韩国产网站 | av中文在线观看 | 成年人电影免费在线观看 | 国产精品大全 | 中文字幕永久 | 国产精品第一 | 色综合天天狠天天透天天伊人 | 日韩欧美在线免费 | 国产精品扒开做爽爽的视频 | 国产综合精品一区二区三区 | se婷婷 | 精品美女在线视频 | 久久在草 | 在线免费观看的av网站 | 韩日精品视频 | 久久高清视频免费 | 在线播放视频一区 | www激情com| 久久婷婷亚洲 | 中文字幕在线观看你懂的 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 国产精品国内免费一区二区三区 | 91精品在线看 | 中文字幕精品久久 | 黄色资源网站 | 亚洲专区欧美 | 特黄特黄的视频 | 久久视频这里只有精品 | 欧美激精品| 日韩在线大片 | 波多野结衣在线中文字幕 | 在线网站黄 | 久久69av| 色99之美女主播在线视频 | 狠狠干狠狠久久 | 一区二区三区在线免费观看视频 | 色综合久久66| 国产亚洲91| www夜夜操com | 91视频 - x99av| 国产美女被啪进深处喷白浆视频 | 黄色1级大片 | 国产福利a | 91精品国产一区二区三区 | 麻豆影视在线免费观看 | 国产午夜三级一区二区三桃花影视 | 一级免费黄视频 | 成年人视频在线免费 | 欧美精品久久久久久久久久 | 国产精品嫩草在线 | 久久色视频 | 久久久久日本精品一区二区三区 | 久久av中文字幕片 | 国产小视频你懂的在线 | 国产亚洲视频在线观看 | 中文av资源站 | av成人在线电影 | 91丨九色丨国产丨porny精品 | av黄色国产 | 91毛片在线| 亚洲精品欧美精品 | 亚洲精品国产精品乱码在线观看 | 天天操夜夜摸 | 久久99免费 | 超碰97人人爱 | 特级毛片爽www免费版 | 婷婷激情综合 | 亚洲国产精品一区二区久久hs | av一级免费 | 免费看的视频 | a v在线视频 | 天天操天天摸天天爽 | 久久99精品波多结衣一区 | a级片久久久 | 九色精品在线 | 国产第一页精品 | 爱干视频 | 日韩免费观看视频 | 99视频免费在线观看 | 五月天激情视频 | 黄色的片子 | 久久国产精品99久久久久久老狼 | 久久久久国产一区二区三区 | 欧美一区二区三区在线播放 | 一区二区三区四区五区在线 | 狠狠色丁香婷婷综合视频 | 成人黄视频 | 在线黄网站 | 亚洲精品视频网站在线观看 | 国产美女在线精品免费观看 | 五月天婷亚洲天综合网精品偷 | 在线观看成人国产 | 在线免费av观看 | 美女网站色 | 欧美另类美少妇69xxxx | 亚洲国产成人高清精品 | 91人人视频在线观看 | 97伊人网 | 久久久久免费精品国产小说色大师 | 99精品色 | 久久成人国产精品入口 | 亚洲一级片在线看 | 久人人 | 欧美资源在线观看 | 日日干狠狠操 | 91香蕉国产在线观看软件 | 超级碰碰碰视频 | 日本黄色大片儿 | 成年人天堂com | 91尤物国产尤物福利在线播放 | 五月天婷亚洲天综合网精品偷 | 欧美日韩不卡在线 | 欧美在线视频日韩 | 亚洲一二三久久 | 黄色av免费看 | 国产成人61精品免费看片 | 免费激情网| 在线免费中文字幕 | 四虎国产精品成人免费4hu | 丁香六月网 | 亚洲影院色 | 99久久综合精品五月天 | 91高清视频免费 | 免费a级大片 | 色婷婷狠狠 | 国产精品一区二区三区观看 | 婷婷丁香视频 | 菠萝菠萝在线精品视频 | 欧美精品久久久久久久久久久 | 国产97在线观看 | 91视频 - v11av | 色五月成人 | 久久99在线观看 | 五月婷婷视频在线 | 99re视频在线观看 | 日韩深夜在线观看 | 91片网| 中文字幕一区二区三区四区久久 | 婷婷婷国产在线视频 | 国产主播大尺度精品福利免费 | 国产亚洲精品久久久久久久久久久久 | 免费午夜av | 岛国精品一区二区 | 成人黄色大片 | 久久91网| 胖bbbb搡bbbb擦bbbb | 国产系列 在线观看 | av色影院| 日本成人免费在线观看 | 亚洲午夜久久久久久久久久久 | 麻豆视频在线观看免费 | 麻豆视频在线 | 天天干天天插伊人网 | 尤物97国产精品久久精品国产 | 成人午夜免费剧场 | 三级av在线播放 | 成人av日韩 | 在线视频一区二区 | 天天干天天在线 | 天天综合久久 | 国产免费成人 | 精壮的侍卫呻吟h | 日韩欧美综合在线视频 | 婷婷爱五月天 | 日韩免费一级a毛片在线播放一级 | 中文日韩在线 | 亚洲精品动漫久久久久 | 成人国产精品久久久久久亚洲 | 视频国产在线 | 911亚洲精品第一 | 国产精品久久久777 成人手机在线视频 | 国产不卡免费 | 日韩精品aaa | 亚洲网站在线看 | 丁香久久婷婷 | 超碰在97 | 99久久精品免费看国产麻豆 | 久久超碰免费 | 亚洲在线视频网站 | 麻豆影视网 | www.看片网站 | 国产精品手机看片 | 精品国产一区二区三区四 | 精品国产免费人成在线观看 | 日韩电影在线一区二区 | 亚洲日本三级 | 毛片888| www五月天婷婷 | 久久情网 | 国产高清不卡一区二区三区 | 精品一二三区 | 久久69av| 日韩在线播放欧美字幕 | 欧美大码xxxx | 91尤物国产尤物福利在线播放 | 久久成人综合视频 | 国产成人精品国内自产拍免费看 | 99久久99视频| 欧美日韩视频在线观看免费 | 欧美激情h | 国产网红在线观看 | 狠狠色丁婷婷日日 | 五月婷婷综合在线观看 | 亚洲成年人av | japanesexxxxfreehd乱熟 | 91精品国产91久久久久久三级 | 中文乱码视频在线观看 | 麻豆久久久 | 国产视频日韩视频欧美视频 | 伊人五月天婷婷 | 日韩在线观看影院 | 久久久久久久久久亚洲精品 | 欧美一级视频在线观看 | 国产精品福利午夜在线观看 | 99热最新精品 | av7777777 | 日韩高清毛片 | 亚洲免费精品一区二区 | 日韩精品电影在线播放 | 亚洲视频在线免费观看 | 亚洲免费精品一区二区 | 国产直播av | 韩国av一区二区三区在线观看 | 91成人免费观看视频 | 日日干影院 | 亚洲自拍偷拍色图 | 天天做天天干 | 91麻豆国产福利在线观看 | 精品资源在线 | 色婷婷激情网 | 97超在线 | 97小视频 | 女人高潮一级片 | 麻豆一精品传二传媒短视频 | 国产精品女 | 精品国偷自产国产一区 | 婷婷av电影| 中文字幕4 | 国产亚洲日 | 久久久精品成人 | 最近日本mv字幕免费观看 | 黄色官网在线观看 | 午夜免费福利视频 | 久久视频国产精品免费视频在线 | 欧美99久久 | 久久久午夜影院 | 亚洲va在线va天堂va偷拍 | 成年人视频在线免费观看 | 日韩在线免费视频观看 | 久久久免费观看完整版 | 国产亚洲精品久久久久久无几年桃 | 69av在线视频 | 国产五月婷婷 | av在线网站免费观看 | 久久国产精品区 | 天堂av在线7 | 中文字幕一区二区三区四区视频 | 国产黄色高清 | 九草视频在线观看 | 99亚洲精品在线 | 激情网婷婷 | 丁香六月婷婷开心婷婷网 | 91精品日韩 | 亚洲91精品 | 69国产精品视频免费观看 | 亚洲黄色影院 | 国产精品久久久久久影院 | 久久久精品成人 | 亚洲国产精品资源 | 亚洲精品97| 中文字幕在线观看完整 | 久久九九免费视频 | av888av.com| 激情欧美xxxx | 国产精品片 | 天天操夜夜操国产精品 | 久久精品国产一区 | 国产一区二区在线看 | 狠狠干网址 | 久久精选 | 亚洲精品在线播放视频 | 日本精品一区二区三区在线播放视频 | 国产精品视频99 | 18做爰免费视频网站 | av在线免费观看不卡 | 91成人免费在线视频 | 免费看黄在线 | 久久视频在线观看免费 | www五月天com | 日韩乱色精品一区二区 | 精品在线你懂的 | 一区二区视频播放 | 伊人黄| 亚洲最大av在线播放 | 国产精品乱码一区二三区 | a视频在线观看免费 | 久久久麻豆精品一区二区 | 蜜臀av.com | 久久久久精| av在线h | 五月黄色 | 99在线免费观看视频 | www视频免费在线观看 | 99免在线观看免费视频高清 | 久久激五月天综合精品 | 夜夜操网站 | 日韩欧美有码在线 | 国产精品一区二区在线观看 | 一区二区电影网 | 国产精品午夜在线 | 一二三区在线 | 在线精品视频免费播放 | 国产日产亚洲精华av | 黄色一二级片 | 久久久久久久久影视 | 中国一级片在线观看 | 久久久久久久久久伊人 | 五月婷婷一区 | 日本精品二区 | 在线国产黄色 | 亚洲精品乱码久久久久久按摩 | 免费国产在线精品 | 亚洲人人精品 | 在线a人v观看视频 | www色,com | 黄色大全免费网站 | 人人爽影院 | 久久一区二区三区国产精品 | 天天爱天天射天天干天天 | 国产成人久久久77777 | 久久久午夜剧场 | 日韩精品免费一区二区三区 | 激情五月婷婷综合 | 在线视频99 | 国产日韩一区在线 | www亚洲精品 | 狠狠色狠狠色终合网 | 国产精品自在欧美一区 | 久久久久久影视 | 九九电影在线 | av色图天堂网 | 99热999| 中文字幕一区二区三区乱码不卡 | 亚州精品视频 | 青青草视频精品 | 在线精品一区二区 | 中文在线字幕免费观看 | 国产又粗又硬又长又爽的视频 | 久久免费高清 | 欧美日韩xx | 免费看一级黄色大全 | 日韩超碰 | 在线之家免费在线观看电影 | 久久久免费看 | 久久久久久综合网天天 | 国产小视频免费观看 | 在线观看视频一区二区三区 | 成人毛片在线观看视频 | 色操插 | 在线视频亚洲 | 成人天堂网 | 西西人体4444www高清视频 | 日韩深夜在线观看 | 亚洲免费av电影 | 美女黄频在线观看 | av免费在线播放 | 奇米网在线观看 | 国产精品视频专区 | 九九免费在线观看视频 | 日本午夜在线亚洲.国产 | 日韩电影精品一区 | 国产精品不卡在线 | 中文区中文字幕免费看 | 国产一区欧美在线 | 久久国产亚洲视频 | 国产精品伦一区二区三区视频 | 久久er99热精品一区二区三区 | 国产免费叼嘿网站免费 | 久草资源免费 | 亚洲精品无 | 久久亚洲区| 亚洲精品国偷拍自产在线观看 | 午夜在线看 | 久久精品人人做人人综合老师 | 欧美网站黄色 | www99久久| 人人插人人费 | 99九九视频 | 人人精久| 色综合久久久久综合体桃花网 | 日韩视频区 | 亚洲资源视频 | 久久综合九色综合欧美就去吻 | 天天天天天天天操 | 国产成人av免费在线观看 | 国产在线精品区 | 狠狠干夜夜 | 国产精品永久免费观看 | 国产精品久久久久久久久久久久午夜片 | 国产亚洲情侣一区二区无 | 最新av在线播放 | 人人看看人人 | 狠狠婷婷 | 五月婷婷丁香在线观看 | 亚洲国产中文在线 | 久久不射电影网 | 午夜精品三区 | 伊人久久一区 | 日本久久精 | 日韩www在线 | 久草视频在线看 | 久久草在线免费 | 综合av在线 | 日韩免费在线视频观看 | 亚洲精品在 | 欧美激情视频三区 | 国产成人精品av在线观 | 免费a网| 亚洲免费小视频 | 国产精品一级在线 | 在线电影中文字幕 | 玖玖视频 | 国产高清日韩欧美 | 日韩精品免费在线视频 | 亚洲激情在线观看 | 日韩在线资源 | 久久久网址 | 成人av片免费观看app下载 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 激情综合国产 | 91色在线观看视频 | 天堂av在线网 | 97人人模人人爽人人少妇 | 久久美女免费视频 | 中文字幕在线播放一区 | 视频精品一区二区三区 | 免费精品视频 | 亚洲欧洲成人 | 国产精品激情 | 久久无码av一区二区三区电影网 | 日韩视频一区二区在线观看 | 黄色免费观看网址 | 午夜影院日本 | 天天透天天插 | 午夜视频播放 | 91精品少妇偷拍99 | 精品久久久影院 | 97超碰在线资源 | 一级片色播影院 | 成人免费在线观看入口 | 精品国产理论 | h视频在线看 | 狠狠色噜噜狠狠狠狠2022 | 久久视频99 | 在线精品亚洲 | 国产一级淫片免费看 | 在线 国产一区 | 久久综合色婷婷 | 久久免费观看少妇a级毛片 久久久久成人免费 | 久久久久久久久久久网 | 亚洲区视频在线 | 亚洲精品中文字幕视频 | 免费视频 三区 | 国产1区2区3区精品美女 | 日韩 在线 | 久久黄色成人 | 色婷婷视频在线 | 精品毛片一区二区免费看 | 国产精品96久久久久久吹潮 | 国产精品 久久 | 日本中文字幕在线 | 深夜激情影院 | 九热在线 | 成人免费91 | 国产一区二区久久久久 | 国产专区日韩专区 | 六月婷婷久香在线视频 | 91丨九色丨蝌蚪丨对白 | 欧美精品一区二区在线播放 | 日韩在线视频播放 | 五月婷婷在线观看视频 | 99国产成+人+综合+亚洲 欧美 | 午夜视频99| av在线播放亚洲 | 91精品国产麻豆国产自产影视 | 九九热只有精品 | 亚洲精品美女久久 | 国产精品日韩久久久久 | 免费高清在线观看成人 | 国产一区二区三区视频在线 | 91视频中文字幕 | 97成人精品 | 亚洲精品久久久久999中文字幕 | 久久久久北条麻妃免费看 | 国产高清免费 | 色视频成人在线观看免 | 精品久久免费看 | 成人免费ⅴa | 91精品一区二区三区蜜桃 | 五月婷婷综合激情 | 日本精品视频一区二区 | 成人免费毛片aaaaaa片 | 国产精品欧美久久久久天天影视 | 人人玩人人添人人澡97 | 日韩一二三区不卡 | 香蕉网站在线观看 | 国产小视频免费在线网址 | 国产午夜视频在线观看 | 国产婷婷vvvv激情久 | 久久激五月天综合精品 | 久久国产99 | 黄色大片入口 | 91成人亚洲 | 日日操日日干 | 91视频黄色 | 99综合电影在线视频 | 色婷婷色 | 在线观看aaa | 午夜99| 91精品国产欧美一区二区 | a天堂免费| 天天爱天天操天天干 | 在线视频1卡二卡三卡 | 粉嫩aⅴ一区二区三区 | 黄色免费在线看 | 免费国产一区二区 | 91丨九色丨首页 | 免费91麻豆精品国产自产在线观看 | 99精品免费在线 | 婷婷六月丁香激情 | 四虎国产精品免费 | 96视频免费在线观看 | 成人免费视频网 | 日操干| 国产在线播放不卡 | 美女视频又黄又免费 | 狠狠狠狠狠色综合 | 日本护士三级少妇三级999 | 欧美aaa视频 | 在线免费观看黄色小说 | 日韩欧美国产激情在线播放 | 日本xxxx裸体xxxx17 | 久久a v视频 | 亚洲激情影院 | 天天干天天操天天干 | 欧美韩国日本在线观看 | av一本久道久久波多野结衣 | 亚洲综合干| 99视频在线精品免费观看2 | 国产色视频一区二区三区qq号 | 久久精品爱爱视频 | 国产精品嫩草69影院 | 美女久久久久久久久久久 | av黄色影院| 日韩女同一区二区三区在线观看 | 色亚洲激情 | 最近字幕在线观看第一季 | 特级西西444www大胆高清无视频 | 国产精品久久久久久久久久免费 | 国产视频在线播放 | 国产理论影院 | 日韩成人精品在线观看 | 黄色视屏在线免费观看 | 91高清在线 | 波多野结衣在线播放一区 | 永久免费毛片在线观看 | 日韩理论在线播放 | 中文字幕欧美日韩va免费视频 | 日本中文字幕在线电影 | 国产视频手机在线 | 久久99精品久久久久久三级 | 亚洲精品视频免费在线 | 亚洲精品国产自产拍在线观看 | 一区二区三区四区免费视频 | 91在线九色| 久久美女视频 | www91在线观看 | 91人人插| 麻豆精品传媒视频 | 在线中文字幕视频 | 精品一区三区 | www.狠狠插.com | 亚洲天堂网站 | 最近中文字幕国语免费av | 久久女同性恋中文字幕 | 91传媒在线 | 国产免费叼嘿网站免费 | 午夜在线国产 | 国产91影院 | 欧美在线观看视频一区二区三区 | 91日韩免费 | 美女av免费看 | 亚州成人av在线 | 91精品91 | 91免费视频国产 | 99国内精品久久久久久久 | 欧美精品v国产精品 | 午夜视频黄 | 久久久激情网 | 韩日电影在线观看 | 国产在线一卡 | 国产性天天综合网 | 爱情影院aqdy鲁丝片二区 | 久久精品九色 | 人人爽人人香蕉 | 夜夜夜夜操 | 国产精品成人免费一区久久羞羞 | 九色视频网| 激情六月婷婷久久 | 国产精品1区2区3区在线观看 | 欧美日韩p片 | 日韩精品久久久免费观看夜色 | 欧美精品一区二区性色 | 久久99国产一区二区三区 | 小草av在线播放 | 97精品国产91久久久久久久 | 成人毛片在线观看 | 成人精品在线 | 99热这里只有精品国产首页 | 天天干.com | 区一区二区三区中文字幕 | 伊人五月天 | 成人小视频在线观看免费 | 国产午夜精品一区二区三区在线观看 | 国产小视频在线观看 | 黄色午夜网站 | 偷拍精偷拍精品欧洲亚洲网站 | 精品国产一区二区在线 | 午夜体验区 | 中文字幕久久久精品 | 婷婷中文字幕综合 | 在线观看视频你懂的 | 国产亚州精品视频 | 黄色在线观看www | 午夜精品福利一区二区 | 天天天天天干 | 久久av网 | 成人黄色av网站 | 美女av电影 | 天天艹天天操 | 久久久伊人网 | 久久久久麻豆v国产 | 在线观看国产日韩欧美 | 久久专区| 精品久久久一区二区 | 欧美精品久久久久久久久久 | 国内精品久久久久影院日本资源 | 九九综合九九综合 | 蜜桃麻豆www久久囤产精品 | 精品视频 | 草久在线观看 | 欧美一级特黄aaaaaa大片在线观看 | 97手机电影网 | 久久久午夜精品理论片中文字幕 | 日韩中文字幕在线看 | 在线免费观看视频一区 | 欧美精品第一 | 在线观看黄色av | 欧美无极色 | 丁香资源影视免费观看 | 一级黄色免费网站 | 久久免费在线观看 | 亚洲国产三级在线 | 欧美成人精品欧美一级乱 | 中文字幕一区二区三区四区久久 | 久久久久久久久亚洲精品 | 黄色a大片 | wwwwwww黄| 99久久精品午夜一区二区小说 | 久草网免费 | 人人澡超碰碰97碰碰碰软件 | 久久成人国产精品入口 | 亚洲精品天天 | 91片在线观看 | 97精品国产97久久久久久粉红 | 午夜精品剧场 | 最近最新中文字幕 | 午夜精品视频在线 | 91成人精品国产刺激国语对白 | 国产成人久久精品一区二区三区 | 在线欧美日韩 | 国产成人免费网站 | 久久综合欧美 | 久久精品国亚洲 | 久久精品九色 | 成人国产精品一区二区 | 日韩精品免费在线视频 | 国产精品午夜av | 黄色在线免费观看网站 | 国产精品毛片久久久 | 亚洲乱码国产乱码精品天美传媒 | 久久婷婷综合激情 | 菠萝菠萝在线精品视频 | av丝袜美腿 | a亚洲视频 | 91久久精品一区二区二区 | 蜜臀久久99精品久久久无需会员 | www.日日日.com | 国产99久久久精品视频 | 国产精品一区二区久久精品爱微奶 | www欧美xxxx| 久久丝袜视频 | 六月丁香婷婷在线 | 国产精品久久久久久久久久久不卡 | 激情视频一区二区 | 免费色视频在线 | 激情网站五月天 | 国产日韩中文字幕在线 | 日本黄色黄网站 | 天天激情 | www.久热 | 久久国产免 | 日韩中文在线电影 | 狠狠干夜夜操天天爽 | 99精品免费观看 | 992tv在线观看 | 国产 欧美 在线 | 亚洲理论片 | 国产亚洲精品久久久久久无几年桃 | 丰满少妇在线观看资源站 | 国产精品久久9 | 国产自产在线视频 | 亚洲精品视频在线播放 | 99精品欧美一区二区三区 | av免费在线观看1 | 国产黄在线免费观看 | 欧美成人h版在线观看 | 日韩高清网站 | 日本公妇在线观看 | 久久久久国产精品厨房 | 我要看黄色一级片 | 在线观av | 欧美成人精品欧美一级乱 | 亚洲天堂网在线视频 | www.av免费 | 久久精品欧美日韩精品 | www.五月天激情 | www在线观看视频 | 日韩欧美精品一区二区三区经典 | 精品在线观看国产 | 亚洲伊人成综合网 | 国产免费中文字幕 | 中文电影网 | 一级a性色生活片久久毛片波多野 | 国产精品久久久久婷婷二区次 | 亚洲国内精品在线 | 91精品老司机久久一区啪 | 女人18毛片a级毛片一区二区 | 激情综合色综合久久 | 999毛片| 一级免费黄视频 | 正在播放亚洲精品 | 97久久精品午夜一区二区 | 成片人卡1卡2卡3手机免费看 | 日日日爽爽爽 | 中文字幕在线视频精品 | 午夜av日韩 | 深夜免费网站 | 久99久在线 | 免费在线观看av网址 | 久久蜜臀一区二区三区av | 国产在线观看你懂得 | 国产亚洲欧美在线视频 | 香蕉影院在线播放 | 久草在线免费色站 | 亚洲狠狠 | 国产又粗又长又硬免费视频 | 亚洲涩涩色 | 成人午夜av电影 | 免费a级黄色毛片 | 精品专区| 国产亚洲va综合人人澡精品 | 97高清视频 | 欧美视频日韩视频 | 久福利 | www.99久久.com| 亚洲天堂香蕉 | 99久久99久久精品国产片果冰 | 人人爽人人av | 国产剧情av在线播放 | 99一区二区三区 | 成人h动漫在线看 | 午夜美女wwww| 狠狠亚洲| 亚洲精品国偷拍自产在线观看蜜桃 | 国产91精品久久久久 | 国产亚洲人成网站在线观看 | 人人爽人人乐 | 天天射天天射天天射 | www免费看片com | 欧美性视频网站 | 免费看的黄色 | 久久久免费观看 | 黄色国产大片 | www夜夜操com| 国产日韩欧美在线看 | av丁香花 | 天天爱天天射天天干天天 | 91精品国产91久久久久 | 国产精品国产三级国产不产一地 | 欧美国产精品一区二区 | 天天射网站| 国产精品一区在线播放 | 91桃色在线播放 | 国产精品aⅴ | 国产色道 | 国产精品一区二区三区免费视频 | 香蕉影院在线 | av色网站 | 麻豆视频国产精品 | 欧美日韩免费一区 | 精品主播网红福利资源观看 | 国产视频97 | 国产99久久九九精品免费 | 狠狠色狠狠综合久久 | 在线观看视频亚洲 | 国产97色在线 | 最近中文字幕mv | 国产欧美久久久精品影院 | 国产中文字幕在线观看 | 在线观看视频黄色 | 色激情五月 | 亚洲精品成人 | 天天操天天弄 | 国内精品在线看 | 91精品色 | 欧美日韩视频一区二区三区 | 国产视频日韩视频欧美视频 | 日韩视频二区 | 午夜在线看片 | 国产九九热视频 | 欧美日韩中字 | 日韩高清久久 | 亚洲国产精彩中文乱码av | 欧美地下肉体性派对 | 一区二区精品在线 | 狠狠操狠狠操 | 免费在线观看成人av | 五月婷婷六月丁香在线观看 | 欧美久久久久久久久久久久 | 午夜精品电影一区二区在线 | a级黄色片视频 | 日韩性久久 | 免费人成在线观看网站 | 亚洲精品一区二区三区四区高清 | 欧美aaa一级 | 最新国产中文字幕 | 国内精品一区二区 | 不卡av免费在线观看 | 亚洲欧美日韩一二三区 | 色国产精品一区在线观看 | 久久久综合电影 | 成人久久久久 | 欧美精品久久久久性色 | 久久精品一二三区白丝高潮 | 成人四虎| 亚洲成人av片在线观看 | 亚洲国产精品电影在线观看 | 中文字幕视频免费观看 | 精品国产理论 | 国产麻豆精品传媒av国产下载 | 日日干夜夜操视频 | 国产成人黄色网址 | 九九热1| 色婷婷成人 | 久久久鲁| 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久成人免费 | 中文字幕资源网 国产 | 成人免费电影 | 久久精品站 | 久久观看| 波多野结衣在线视频免费观看 | 免费观看一级成人毛片 | 欧美一区二区三区在线播放 | 日韩一区精品 | 日韩欧美精品一区二区 | 综合久久网站 | 91成人精品一区在线播放69 | 国产一区福利在线 | 午夜.dj高清免费观看视频 | 激情综合色综合久久 | 久久国产免费视频 | 成人午夜电影免费在线观看 | 日韩xxx视频 | 激情综合狠狠 | 在线观看视频国产一区 | 日本黄色免费大片 | 91在线最新 | 超碰97.com | 91av电影| 日韩精品免费一区二区在线观看 | 九九免费精品视频在线观看 | 91丨九色丨蝌蚪丨老版 | 亚洲美女精品 | 国产精品二区三区 | 欧美国产日韩一区二区三区 | 国产精品久久久久久久久岛 | 成人一级黄色片 | 四虎成人免费影院 | 久草免费在线观看 | 欧美十八| 91大神免费在线观看 | 精品中文字幕视频 | 天天舔天天搞 | 久久爱资源网 | 干干夜夜| 深爱激情五月网 | 国产小视频免费在线观看 | 六月色 | aaawww| 日本公妇色中文字幕 | 黄色一级影院 | 国产成人综合在线观看 | 天无日天天操天天干 | 日日夜夜干| 蜜臀aⅴ国产精品久久久国产 | www免费黄色 | 婷婷资源站| 午夜 久久 tv | 国产精品亚洲视频 | 亚洲国产资源 | www欧美色 | 国产日韩中文在线 | 三级av免费观看 | 欧美大片在线观看一区 | 国产精品四虎 | 免费高清在线观看成人 | 91精品办公室少妇高潮对白 | 九九热只有这里有精品 | 一本一本久久a久久精品牛牛影视 | 亚洲综合精品视频 | 一区二区三区在线播放 | 国产成人在线精品 | 日韩欧美一区二区三区在线 | 美女免费视频一区二区 | 国产精品久久久久亚洲影视 | 亚洲精品在线观看av | www.久久爱.cn | 成年人免费在线播放 | 久色伊人| 免费福利视频导航 | 日日麻批40分钟视频免费观看 | 欧美少妇xx | 免费a网| 日韩大陆欧美高清视频区 | 国产精品久久久区三区天天噜 | 亚洲黄色成人 | 狠狠狠色丁香婷婷综合久久五月 | 国产91全国探花系列在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 成人中心免费视频 | 国产成人在线免费观看 | 九色自拍视频 | 国产特级毛片aaaaaa高清 | 久草在线中文888 | 激情婷婷在线观看 | 在线 日韩 av | 成人电影毛片 | 在线v片免费观看视频 | 国产成人免费在线观看 | 天天操天天干天天 | 免费福利影院 | 国产精品毛片完整版 | 日韩一二三在线 | 国产精品久久久久久超碰 | 97超碰资源站 | 亚洲综合视频在线 | 在线观看成人毛片 | av一区在线 | 在线观看黄av | 亚洲欧美日本国产 | 丁香高清视频在线看看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩在线观看视频在线 | 欧美黄色免费 | 久久er99热精品一区二区三区 | 免费毛片aaaaaa | 亚洲综合成人在线 | 欧美日韩色婷婷 | 天天看天天干 | 久草在线电影网 | mm1313亚洲精品国产 | 综合色中色| 久久99视频精品 | 久久人网 | 亚洲精品午夜国产va久久成人 | 美女黄网久久 | 99性视频 | 五月天最新网址 |