久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

瀏覽:2日期:2022-08-14 09:33:24
一、Java IO流總覽

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

二、File類2.1 常用API

package pkg1;import java.io.File;import java.io.IOException;/** * @author Administrator * @date 2021/4/2 */public class FileDemo { public static void main(String[] args) {// 了解構(gòu)造函數(shù),可查看APIFile file = new File('d:javaiocook');// 設(shè)置分隔符,不同系統(tǒng)也可以認(rèn)識//File file=new File('d:'+File.separator);//System.out.println(file.exists());if (!file.exists()) { file.mkdirs();} else { file.delete();}// 是否是一個目錄,如果是目錄返回true,如果不是目錄或目錄不存在返回falseSystem.out.println(file.isDirectory());// 如果是一個文件System.out.println(file.isFile());//File file2 = new File('d:javaio日記1.txt');File file2 = new File('d:javaio', '日記1.txt');if (!file2.exists()) { try {file2.createNewFile(); } catch (IOException e) {e.printStackTrace(); }} else { file2.delete();}// 常用File對象的apiSystem.out.println(file);// file.toString()的內(nèi)容System.out.println(file.getAbsolutePath());System.out.println(file.getName());System.out.println(file2.getName());System.out.println(file.getParent());System.out.println(file2.getParent());System.out.println(file.getParentFile().getAbsolutePath()); }}

測試結(jié)果:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

其他API:

package pkg1;import java.io.*;import java.util.RandomAccess;/** * @author Administrator * @date 2021/4/7 */class FileDemo2 { public static void main(String[] args) {File file = new File('d:javaioexample');if (!file.exists()) { file.mkdir();}/*String[] fileNames = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) {System.out.println('文件是:'+dir + '' + name);return name.endsWith('java'); }});for (String fileName : fileNames != null ? fileNames : new String[0]) { System.out.println(fileName);}*//*File[] files = file.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) {System.out.println('文件是:' + dir + '' + name);return false; }});for (File fileName : files) { System.out.println(fileName.toString());}*/File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) {System.out.println(pathname);return false; }});for (File fileName : files) { System.out.println(fileName.toString());} }}

測試:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

2.2 遍歷目錄

package pkg2;import java.io.File;/** * 列出File的一些常用操作,如過濾、遍歷 */public class FileUtils { /** * 列出指定目錄(包括其子目錄)下的所有文件 */ public static void listDirectory(File dir) throws IllegalAccessException {if (!dir.exists()) { throw new IllegalArgumentException('目錄:' + dir + '不存在');}if (!dir.isDirectory()) { throw new IllegalArgumentException(dir + '不存在');}// list()用于列出當(dāng)前目錄下的子目錄(不包含子目錄下的內(nèi)容)和文件。返回的是字符串?dāng)?shù)組。/*String[] fileNames = dir.list();for (String string : fileNames) { System.out.println(dir + '' + string);}*/// 若要遍歷子目錄下的內(nèi)容,就要構(gòu)造成File對象進(jìn)行遞歸操作。File提供了直接返回File對象的APIFile[] files = dir.listFiles();//返回直接子目錄(文件)的抽象/*for (File file : files) { System.out.println(file);}*/if (files != null && files.length > 0) { for (File file : files) {if (file.isDirectory()) { // 遞歸 listDirectory(file);} else { System.out.println(file);} }} }}

測試類:

package pkg2;import java.io.File;public class FileUtilsTest { public static void main(String[] args) throws IllegalAccessException {FileUtils.listDirectory(new File('d:javaio')); }}

測試結(jié)果:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

三、RandomAccessFile類

package pkg3;import java.io.*;import java.util.Arrays;public class RafDemo { public static void main(String[] args) throws IOException {// 若沒有指定路徑,則表示相對路徑,即項目所在路徑。File demo = new File('demo');if (!demo.exists()) { demo.mkdir();}File file = new File(demo, 'raf.dat');if (!file.exists()) { file.createNewFile();}RandomAccessFile raf = new RandomAccessFile(file, 'rw');// 查看指針位置System.out.println(raf.getFilePointer());// 0raf.writeInt(’A’);// 只寫了一個字節(jié)System.out.println(raf.getFilePointer());raf.writeInt(’B’);int i = 0x7fffffff;// 用write方法每次只能寫一個字節(jié),如果要把i寫進(jìn)去就要寫4次raf.writeInt(i >>> 24);//高8位raf.writeInt(i >>> 16);raf.writeInt(i >>> 8);raf.writeInt(i);// 低8位System.out.println(raf.getFilePointer());// 直接寫一個int ,與上述4步操作等效raf.writeInt(i);String s = '中';byte[] gbk = s.getBytes('gbk');raf.write(gbk);System.out.println('raf長度:' + raf.length());// 讀文件,必須把指針移到頭部raf.seek(0);// 一次性讀取,把文件中的內(nèi)容都讀到字節(jié)數(shù)組匯總byte[] buf = new byte[(int) raf.length()];raf.read(buf);System.out.println(Arrays.toString(buf));// 轉(zhuǎn)為字符串/*String s1=new String(buf,'utf-8');System.out.println(s1);*/for (byte b : buf) { System.out.print(Integer.toHexString(b & 0xff) + ' ');}raf.close(); }}

測試結(jié)果:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

四、字節(jié)流4.1 FileInputStream

package pkg4;import java.io.*;public class IOUtil { /** * 讀取指定文件內(nèi)容, 按照十六進(jìn)制輸出到控制臺, * 且每輸出10個byte換行 * * @param fileName */ public static void printHex(String fileName) throws IOException {// 把文件作為字節(jié)流進(jìn)行操作FileInputStream fis = new FileInputStream(fileName);int b;int i = 1;while ((b = fis.read()) != -1) { if (b <= 0xf) {// 單位數(shù)前補(bǔ)0System.out.print('0'); } // 將整型b轉(zhuǎn)換為16進(jìn)制表示的字符串 System.out.print(Integer.toHexString(b) + ' '); if (i++ % 10 == 0) {System.out.println(); }}fis.close(); } public static void printHexByByteArray(String fileName) throws IOException {FileInputStream fis = new FileInputStream(fileName);/*byte[] buf = new byte[20 * 1024];//從fis中批量讀取字節(jié),放入到buf字節(jié)數(shù)組中,從第0個位置開始放,最多放buf.length個,返回的是讀到的字節(jié)個數(shù)int bytes = fis.read(buf, 0, buf.length);// 一次性讀完,說明字節(jié)數(shù)組足夠大int j = 1;for (int i = 0; i < bytes; i++) { if (buf[i] <= 0xf) {System.out.print('0'); } System.out.println(Integer.toHexString(buf[i]) + ' '); if (j++ % 10 == 0) {System.out.println(); }}*/// 當(dāng)字節(jié)數(shù)組容量不夠,一次讀不完時byte[] buf = new byte[8 * 1024];int bytes = 0;int j = 1;while ((bytes = fis.read(buf, 0, buf.length)) != -1) { for (int i = 0; i < bytes; i++) {// byte是8位,int類型是32位,為了避免數(shù)據(jù)轉(zhuǎn)換錯誤,通過&0xff將高24位清零System.out.print(Integer.toHexString(buf[i] & 0xff) + ' ');if (j++ % 10 == 0) { System.out.println();} }}fis.close(); } /** * 文件拷貝操作 -> 字節(jié)批量讀取式拷貝,效率最優(yōu) */ public static void copyFile(File srcFile, File destFile) throws IOException {if (!srcFile.exists()) { throw new IllegalArgumentException('文件:' + srcFile + '不存在');}if (!srcFile.isFile()) { throw new IllegalArgumentException(srcFile + '不是文件');}FileInputStream fis = new FileInputStream(srcFile);FileOutputStream fos = new FileOutputStream(destFile);byte[] buf = new byte[8 * 1024];int b;while ((b = fis.read(buf, 0, buf.length)) != -1) { fos.write(buf, 0, b); fos.flush();//最好加上這個}fis.close();fos.close(); } /** * 用帶緩沖的字節(jié)流,進(jìn)行文件拷貝,效率居中 */ public static void copyFileByBuffer(File srcFile, File destFile) throws IOException {if (!srcFile.exists()) { throw new IllegalArgumentException('文件:' + srcFile + '不存在');}if (!srcFile.isFile()) { throw new IllegalArgumentException(srcFile + '不是文件');}BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));int c;while ((c = bis.read()) != -1) { bos.write(c); // 刷新緩沖區(qū)。不能省略,否則無法寫入 bos.flush();}bis.close();bos.close(); } /** * 文件拷貝操作 -> 單字節(jié),不帶緩沖式拷貝,效率最差 */ public static void copyFileByByte(File srcFile, File destFile) throws IOException {if (!srcFile.exists()) { throw new IllegalArgumentException('文件:' + srcFile + '不存在');}if (!srcFile.isFile()) { throw new IllegalArgumentException(srcFile + '不是文件');}FileInputStream fis = new FileInputStream(srcFile);FileOutputStream fos = new FileOutputStream(destFile);int b;while ((b = fis.read()) != -1) { fos.write(b); fos.flush();}fis.close();fos.close(); }}

測試類:

package pkg4;import java.io.IOException;public class IOUtilTest1 { public static void main(String[] args) {try { IOUtil.printHex('d:javaioFileUtils.java');} catch (IOException e) { e.printStackTrace();} }}4.2 FileOutputStream

package pkg5;import pkg4.IOUtil;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutDemo { public static void main(String[] args) throws IOException {// 如果該文件不存在,則直接創(chuàng)建,如果存在,則刪除后創(chuàng)建。若要在后面追加內(nèi)容,參數(shù)中加一個trueFileOutputStream fos = new FileOutputStream('demo/out.dat');// 寫入A的低8位fos.write(’A’);fos.write(’B’);// write只能寫8位,那么寫一個int需要4次,每次8位int a = 10;fos.write(a >>> 24);fos.write(a >>> 16);fos.write(a >>> 8);fos.write(a);byte[] gbk = '中國'.getBytes('gbk');fos.write(gbk);fos.close();IOUtil.printHex('demo/out.dat'); }}

測試類:

package pkg5;import pkg4.IOUtil;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.IOException;public class IOUtilTest3 { public static void main(String[] args) {try { IOUtil.copyFile(new File('d:javaioabc.txt'), new File('d:javaioabc1.txt'));} catch (IOException e) { e.printStackTrace();} }}4.3 DataInputStream 、DataOutputStream

輸入流:

package pkg6;import pkg4.IOUtil;import java.io.DataInputStream;import java.io.FileInputStream;import java.io.IOException;public class DisDemo { public static void main(String[] args) throws IOException {String file = 'demo/dos.dat';IOUtil.printHex(file);DataInputStream dis = new DataInputStream(new FileInputStream(file));int i = dis.readInt();System.out.println(i);i = dis.readInt();System.out.println(i);long l = dis.readLong();System.out.println(l);double d = dis.readDouble();System.out.println(d);String s = dis.readUTF();System.out.println(s);dis.close(); }}

輸出流:

package pkg6;import pkg4.IOUtil;import java.io.DataOutputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class DosDemo { public static void main(String[] args) throws IOException {String file = 'demo/dos.dat';DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));dos.writeInt(10);dos.writeInt(-10);dos.writeLong(10l);dos.writeDouble(10.5);// 采用utf-8寫入dos.writeUTF('中國');// 采用utf-16be寫入dos.writeChars('中國');dos.close();IOUtil.printHex(file); }}4.4 字節(jié)緩沖流

工具類在4.1小節(jié)的IOUtil.java中。

測試類:

package pkg7;import pkg4.IOUtil;import java.io.File;import java.io.IOException;public class IOUtilTest4 { public static void main(String[] args) {// 效率最高try { long start = System.currentTimeMillis(); IOUtil.copyFile(new File('d:javaioAlpha.mp3'), new File('d:javaioAlpha1.mp3')); long end = System.currentTimeMillis(); System.out.println('耗時1:' + (end - start));} catch (IOException e) { e.printStackTrace();}// 效率居中try { long start = System.currentTimeMillis(); IOUtil.copyFileByBuffer(new File('d:javaioAlpha.mp3'), new File('d:javaioAlpha2.mp3')); long end = System.currentTimeMillis(); System.out.println('耗時2:' + (end - start));} catch (IOException e) { e.printStackTrace();}// 效率最差try { long start = System.currentTimeMillis(); IOUtil.copyFileByByte(new File('d:javaioAlpha.mp3'), new File('d:javaioAlpha3.mp3')); long end = System.currentTimeMillis(); System.out.println('耗時3:' + (end - start));} catch (IOException e) { e.printStackTrace();} }}五、字符流5.1 InputStreamReader、OutputStreamWriter

package pkg8;import java.io.*;public class IsrAndOswDemo { public static void main(String[] args) throws IOException {FileInputStream fis = new FileInputStream('d:javaioaa.txt');InputStreamReader isr = new InputStreamReader(fis);//未指定編碼格式,即按照項目默認(rèn)編碼操作FileOutputStream fos = new FileOutputStream('d:javaioaa.txt');OutputStreamWriter osw = new OutputStreamWriter(fos);//未指定編碼格式,即按照項目默認(rèn)編碼操作/*int c;while ((c=isr.read())!=-1){ System.out.print((char)c);}*//*批量讀取。放入buffer這個字節(jié)數(shù)組,從第0個位置開始放,最多放buffer.length個,返回讀到的字符個數(shù)。 */char[] buffer = new char[8 * 1024];int c;while ((c = isr.read(buffer, 0, buffer.length)) != -1) { String s = new String(buffer, 0, c); System.out.print(s); /*osw.write(buffer,0,c); osw.flush();*/}isr.close();osw.close(); }}5.2 FileReader、FileWriter

package pkg8;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FrAndFwDemo { /** * 注意:FileReader、FileWriter不能指定編碼方式 */ public static void main(String[] args) throws IOException {FileReader fr = new FileReader('d:javaioaa.txt');// 指定參數(shù),也可以追加內(nèi)容:FileWriter(String fileName, boolean append)FileWriter fw = new FileWriter('d:javaiobb.txt');char[] buffer = new char[8 * 1024];int c;while ((c = fr.read(buffer, 0, buffer.length)) != -1) { fw.write(buffer, 0, c); fw.flush();}fr.close();fw.close(); }}5.3 BufferedReader、BufferedWriter、PrintWriter

package pkg9;import java.io.*;public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException {// 對文件進(jìn)行讀寫操作BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream('d:javaioaa.txt')));//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream('d:javaiocc.txt')));// PrintWriter可以替換BufferedWriterPrintWriter pw = new PrintWriter('d:javaiocc.txt');String line;while ((line = br.readLine()) != null) { // 一次讀一行,不能識別換行 System.out.println(line); /*bw.write(line); // 手動給出換行 bw.newLine(); bw.flush();*/ pw.println(line); pw.flush();}br.close();//bw.close();pw.close(); }}六、對象的序列化、反序列化6.1 transient關(guān)鍵字、序列化、反序列化

實體類:

package pkg10;import java.io.Serializable;public class Student implements Serializable { private String stuNo; private String stuName; // 該元素不會 進(jìn)行JVM默認(rèn)的序列化,但可以手動序列化 private transient int stuAge; public Student(String stuNo, String stuName, int stuAge) {this.stuNo = stuNo;this.stuName = stuName;this.stuAge = stuAge; } public String getStuNo() {return stuNo; } public void setStuNo(String stuNo) {this.stuNo = stuNo; } public String getStuName() {return stuName; } public void setStuName(String stuName) {this.stuName = stuName; } public int getStuAge() {return stuAge; } public void setStuAge(int stuAge) {this.stuAge = stuAge; } @Override public String toString() {return 'Student{' +'stuNo=’' + stuNo + ’’’ +', stuName=’' + stuName + ’’’ +', stuAge=' + stuAge +’}’; } /** * 序列化 */ private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException {// 把JVM能默認(rèn)序列化的元素進(jìn)行序列化操作s.defaultWriteObject();// 手動完成stuAge的序列化s.writeInt(stuAge); } /** * 反序列化 */ private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {// 把JVM默認(rèn)能反序列化的元素進(jìn)行反序列化操作s.defaultReadObject();// 手動完成stuAge的反序列化stuAge = s.readInt(); }}

測試類:

package pkg10;import java.io.*;import java.util.ArrayList;public class ObjectSeriaDemo { public static void main(String[] args) throws IOException, ClassNotFoundException {String file = 'demo/obj.dat';// 1、對象的序列化/*ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));Student student = new Student('10001', '張三', 20);oos.writeObject(student);oos.flush();oos.close();*/// 2、對象的反序列化ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));Student stu = (Student) ois.readObject();System.out.println(stu);ois.close(); }}6.2 序列化、反序列化時,子類、父類構(gòu)造方法的調(diào)用

package pkg11;import java.io.*;import java.sql.SQLOutput;public class ObjectSeriaDemo { public static void main(String[] args) throws IOException, ClassNotFoundException {// 序列化/*ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream('demo/obj1.dat'));Foo2 foo2=new Foo2();oos.writeObject(foo2);oos.flush();oos.close();*/// 反序列化/*ObjectInputStream ois=new ObjectInputStream(new FileInputStream('demo/obj1.dat'));Foo2 foo2= (Foo2) ois.readObject();System.out.println(foo2);ois.close();*//*ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream('demo/obj1.dat'));Bar2 bar2=new Bar2();oos.writeObject(bar2);oos.flush();oos.close();*//*ObjectInputStream ois = new ObjectInputStream(new FileInputStream('demo/obj1.dat'));Bar2 bar2 = (Bar2) ois.readObject();System.out.println(bar2);ois.close();*//*ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream('demo/obj1.dat'));Ccc2 ccc2=new Ccc2();oos.writeObject(ccc2);oos.flush();oos.close();*/ObjectInputStream ois = new ObjectInputStream(new FileInputStream('demo/obj1.dat'));Ccc2 ccc2 = (Ccc2) ois.readObject();System.out.println(ccc2);ois.close(); }}/** * 一個類實現(xiàn)了序列化接口,其子類都可以實現(xiàn)序列化。 */class Foo implements Serializable { public Foo() {System.out.println('foo...'); }}class Foo1 extends Foo { public Foo1() {System.out.println('foo1...'); }}class Foo2 extends Foo1 { public Foo2() {System.out.println('foo2...'); }}/** * 對子類對象進(jìn)行反序列化操作時, * 如果其父類沒有實現(xiàn)序列化接口 * 那么其父類的構(gòu)造函數(shù)會被調(diào)用 */class Bar { public Bar() {System.out.println('Bar...'); }}class Bar1 extends Bar implements Serializable { public Bar1() {System.out.println('Bar1...'); }}class Bar2 extends Bar1 { public Bar2() {System.out.println('Bar2...'); }}class Ccc { public Ccc() {System.out.println('Ccc...'); }}class Ccc1 extends Ccc { public Ccc1() {System.out.println('Ccc1...'); }}class Ccc2 extends Ccc1 implements Serializable { public Ccc2() {System.out.println('Ccc2...'); }}

Foo2類反序列化時不打印構(gòu)造方法:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

Bar2類反序列化時打印了Bar的構(gòu)造方法:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

Ccc2類反序列化時打印了Ccc、Ccc1的構(gòu)造方法:

Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

結(jié)論(詳見導(dǎo)圖標(biāo)紅部分):

對子類對象進(jìn)行反序列化操作時,如果其父類沒有實現(xiàn)序列化接口,那么其父類的構(gòu)造函數(shù)會被調(diào)用。

到此這篇關(guān)于Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)的文章就介紹到這了,更多相關(guān)Java IO流文件傳輸內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美日一区二区 | 91精品国产综合久久久久久 | 性视频黄色 | 蜜桃一区二区 | 久热精品视频 | av在线播放网址 | 成人涩涩日本国产一区 | 国产a√ | 亚洲视频在线观看免费 | 亚洲高清免费视频 | 精品www| av免费黄色 | 一级二级黄色大片 | 久久久国产一区二区三区 | 三a毛片 | 综合色播 | 在线观看理论电影 | 久草福利在线视频 | 欧洲美女7788成人免费视频 | 国产高潮好爽受不了了夜色 | 久久91精品国产 | 久久久成人精品 | 欧美午夜精品久久久久久人妖 | 亚洲一区二区三区在线观看免费 | 欧美 日韩 中文字幕 | av免费在线观看网站 | 在线免费看a | 久久夜夜 | 国产精品视频久久 | 亚洲第一福利视频 | 国产一级毛片国语一级 | 欧美综合精品 | 久久成人精品视频 | 亚洲高清中文字幕 | 日韩在线欧美 | 综合网亚洲 | 黄色片在线观看视频 | 中文字幕免费看 | 1000部羞羞视频在线看视频 | av一区二区三区在线观看 | 91性高湖久久久久久久久_久久99 | 久久这里只有精品首页 | 亚洲免费观看视频 | 91精品国产综合久久久久久漫画 | 日韩成人小视频 | 成人在线精品视频 | 免费在线成人 | 午夜视频精品 | www.成人| 毛片网站大全 | 久久久久国产一区二区三区四区 | 国产福利在线免费 | 91精品国产综合久久久久久 | av免费在线播放 | 亚洲视频在线观看 | 涩涩操 | 欧美一级在线视频 | 亚洲综合国产 | 91亚洲日本 | 久久久精 | 中文字幕一区二区三区四区 | 欧美亚洲一| 亚洲一区二区三 | 欧美日韩在线一区二区三区 | 久在线观看 | 国产永久免费 | 欧美日本一区 | 香蕉视频黄色 | 91免费影片 | 国产成人av在线 | 在线一级电影 | 2021狠狠干 | 亚洲美女视频一区二区三区 | 成人毛片在线视频 | 91精品国产欧美一区二区成人 | av网站推荐| 精品国产成人 | 久久久久国产精品一区二区三区 | 日韩成人免费视频 | 国产精品久久久久久久久久久久久 | 午夜爱视频 | 国产精品国产精品国产专区不卡 | 欧美日韩一区二区电影 | 真人一级毛片 | 国产精品一任线免费观看 | 成人黄色在线视频 | 亚洲精品久久久一区二区三区 | av黄色在线免费观看 | 精品成人 | 999国产在线视频 | 中文字幕一区二区三区乱码在线 | 久久久精品电影 | 亚洲xx在线 | 国产中文视频 | 欧美在线视频一区 | 久久黄色网 | 日本亚洲欧美 | 欧美乱码久久久久久蜜桃 | 三级黄色片在线 | 黄色日本视频 | 五月天婷婷色综合 | 一级欧美日韩 | 九色网址 | 国产精品久久久久久久久久 | 午夜国产羞羞视频免费网站 | 伊人网网站 | 国产色网站 | 黄色91 | 中文字幕精品三级久久久 | 日韩中文字幕av | 国产精品久久久久久久久久 | 在线播放高清视频www | 自拍偷拍欧美 | 97国产免费 | 欧美高清成人 | 日韩超碰 | 黄色网址av | 国产成人综合网 | 日韩高清在线 | 欧美自拍视频在线 | 国产精品久久久久久久久久ktv | 高清国产一区二区三区四区五区 | 亚洲电影一区二区三区 | 人人操日日干 | 欧美日韩不卡合集视频 | 亚州精品天堂中文字幕 | 国产最新视频在线 | www久久久久久久 | 最新精品在线 | 日韩中文字幕一区二区 | 成人午夜精品一区二区三区 | 精品国产乱码久久久久久1区2区 | 成人免费看电影 | 美女福利视频 | 91精品电影| 日韩精品一区二区三区在线观看 | 美女张开腿视频网站免费 | 色婷婷国产精品 | 亚洲国产精品久久久 | 亚洲福利 | 亚洲在线视频 | 亚洲一区二区三区高清 | 91看片淫黄大片一级在线观看 | 中文字幕一区二区三区四区 | 午夜影院 | 成人精品在线 | 亚洲激情综合 | 久久在线视频 | 国产精品免费一区二区三区四区 | 精品久久中文字幕 | julia中文字幕久久一区二区 | 中文字幕在线观看www | 久久久精品| 97夜夜操| 精品亚洲一区二区 | 中文字幕在线免费 | 欧美激情网址 | 亚洲国产精品久久久久秋霞不卡 | 人人操日日干 | 久久r精品 | 国产伦精品一区二区三区四区视频 | 色综合成人 | 日韩视频一区二区 | 欧美成人精品一区二区男人看 | 国产激情性色视频在线观看 | 精品国产第一国产综合精品 | 成年人免费看片 | 中文字幕亚洲精品 | 欧美成人一区二区三区片免费 | 一区二区三区av | 国产午夜精品久久久久免费视高清 | 日本午夜精品 | 91精品国产乱码久久久久久久久 | 欧美综合成人网 | 午夜精品久久久久99蜜 | 一级大片一级一大片 | 羞羞视频在线播放 | 国产精品99久久久久久久久久久久 | 成人午夜在线观看 | 中文字幕在线观看av | 99久久久国产精品美女 | 古典武侠第一页久久777 | 在线观看毛片网站 | 黑人性dh | 欧美成人激情 | 日韩成人在线观看视频 | 中文字幕亚洲第一 | 国产精品第一国产精品 | 午夜精品视频在线观看 | 国产精品片aa在线观看 | 久久国产高清 | 亚洲精品国产片 | 日韩亚洲精品在线观看 | 国产成人小视频 | 欧美激情视频一区二区三区在线播放 | 狠狠干狠狠干 | 精品成人国产 | 自拍视频在线观看 | 欧美性大战久久久久久久蜜臀 | 一区二区三区影院 | 99久热在线精品视频观看 | 中国妞xxx| 一区二区三区四区日韩 | 国产精产国品一二三产区视频 | 欧美一级毛片免费观看 | 日本超碰在线 | 最新中文字幕久久 | 日韩视频在线免费观看 | 狠狠干欧美 | 成人一区二区三区在线观看 | 日韩精品一区二区三区中文字幕 | 日韩成人免费中文字幕 | 久久不卡 | 国产成人一区 | 国产激情精品一区二区三区 | bxbx成人精品一区二区三区 | 亚洲中字幕女 | 成人免费观看男女羞羞视频 | 免费a视频 | 亚洲一二视频 | 女人爽到高潮aaaa电影 | 一级黄色短片 | 色九九| 久久三区 | 亚洲综合福利视频 | 九九热免费精品视频 | 免费国产一区二区 | 久久精品91 | 国产精品九九九 | 91高清免费看 | 超碰97av| 亚洲成人二区 | 亚洲www视频 | 一区二区三区视频在线免费观看 | 久久综合伊人 | 青青草在线视频免费观看 | 日本高清无卡码一区二区久久 | 欧美成人福利 | 成人免费在线网址 | 亚洲专区在线播放 | 在线视频中文字幕 | 亚洲精品一二三区 | 欧美一区二区三区在线看 | 成人精品三级av在线看 | 久久久久国产精品免费免费搜索 | 欧美簧片在线 | 国产伦精品一区二区三区四区视频_ | 日韩在线播放一区二区三区 | 国产精品入口久久 | 中文字幕在线观看的电影 | 成人久久久久久久久 | 久草热8精品视频在线观看 欧美全黄 | 成人av播放 | 国产成人精品亚洲777人妖 | 北条麻妃一区二区在线 | 亚洲专区国产精品 | 91精品一区二区三区久久久久久 | 国产最新网址 | 欧美aaaaa| 99久久99热这里只有精品 | 黄色大片视频 | 国产精品久久久久久久久免费 | 国产免费一区二区三区 | 99久久夜色精品国产网站 | 九九综合| 欧美视频在线观看不卡 | 视频一区在线 | 一级片日韩 | 欧美自拍视频 | 成人免费视频网站在线看 | 国产精品1页| 爱干在线 | 欧美一区二区伦理片 | 亚洲一区二区三区在线免费观看 | 欧美一区二区在线看 | 成人久久久精品国产乱码一区二区 | 91电影院 | av网站免费在线观看 | a级黄色毛片免费观看 | 欧美成人激情 | 国产精品视频一 | 国产成人精品一区一区一区 | 91久久久久久| 亚洲国产一区视频 | 嫩草私人影院 | 亚洲日本乱码在线观看 | 国产亚洲精品久久久久久青梅 | 欧美一级欧美三级在线观看 | 欧美三级电影在线播放 | 午夜精品成人一区二区 | 久久久久久久久国产 | 国产成人久久 | 亚洲国产天堂久久综合 | 天天综合7799精品影视 | 69黄在线看片免费视频 | 玖玖操 | 国产极品视频在线观看 | 国产高清久久 | 男女深夜视频 | 日本黄色免费大片 | 日韩欧美第一页 | 成人a在线 | 欧美精品在线免费观看 | 亚洲成人日韩 | 精品人成 | 亚洲精品一区二区网址 | 国产亚洲一区二区在线 | 欧美videosex性欧美黑吊 | 一级黄色a视频 | 中文字幕高清 | 玖玖综合网 | 欧美精品一区二区三区在线播放 | 久草.com| 欧美日韩精品一二区 | 日韩av高清在线 | 日本啪啪网站 | 欧美成人免费在线观看 | 日韩免费一级 | 精品成人在线 | 日本日韩中文字幕 | 毛片搜索 | 久久大陆 | 国产日韩一区二区 | 亚洲欧洲日韩 | 亚洲激情视频在线观看 | 国产综合精品 | 亚洲一区二区黄 | 夜夜草视频 | 午夜精品久久久久久久星辰影院 | 国产精品一区二区三区四区 | 国产精品久久久久久久一区探花 | 欧美三区 | 精品国产一区二区三区久久久 | 99爱免费观看 | 范冰冰一级做a爰片久久毛片 | 国产精品一二三四区 | av毛片| 欧美成人中文字幕 | 亚洲精品日韩在线 | 日日干夜夜操 | 天堂一区二区三区四区 | 国产一区二区三区av在线 | 国产免费av在线 | 日韩视频久久 | 日日日操| 色精品 | 欧美日韩国产在线观看 | 国产精品99久久久久久久vr | 美女高潮久久久 | 国产高清一区 | 久久久久国产精品午夜一区 | 欧美精品综合在线 | 国产区免费在线观看 | 特黄视频 | 国产成人精品亚洲日本在线观看 | 91av视频在线观看 | 福利视频一区二区 | 81精品国产乱码久久久久久 | 日本小视频网站 | 国产富婆一级全黄大片 | 在线观看羞羞 | 精品久久久久久久久久久 | 99精品欧美一区二区三区 | 日韩福利片| 美女福利视频网站 | 午夜成人免费电影 | 精久久 | 日韩高清一区二区 | 日韩精品影院 | 伊人在线| 在线观看国产视频 | 狠狠干欧美 | 狠狠色狠狠色合久久伊人 | 亚洲第一区国产精品 | 日韩电影免费在线观看中文字幕 | 欧美一区二区日韩 | 北条麻妃国产九九九精品小说 | 国产成人精品一区二区三区四区 | 欧美视频二区 | 成人在线看片 | 午夜日韩 | 91色在线观看 | 久久久91精品国产一区二区 | 成人毛片视频网站 | 久久亚洲一区 | 精品国产一区二区三区久久久久久 | 99热国产在线观看 | 日韩理伦在线 | 国产精品日日做人人爱 | 一级毛片视频播放 | 无码日韩精品一区二区免费 | 精品国产欧美一区二区 | 91.成人天堂一区 | 成人免费一区二区三区视频网站 | 国产传媒在线观看 | 欧美在线国产 | 狠狠操天天干 | a级在线免费视频 | 国产视频久久 | 国产成人高清精品免费5388 | 美女午夜影院 | 国产一区二区三区免费观看 | 韩国精品主播一区二区在线观看 | 精品一区二区在线观看 | 成人精品一区二区三区中文字幕 | 精品视频一区二区三区 | 亚洲精品久久久久久下一站 | 性一级录像片片视频免费看 | 久久国产香蕉视频 | 黄色国产大片 | 成人欧美一区二区三区白人 | 中国一级大毛片 | 天天干夜夜拍 | 成人在线视频免费观看 | 国产精品1区二区 | 久久久久久久一区二区 | 日本黄色大片免费看 | 国产一区二区视频在线观看 | 国产不卡视频在线观看 | 在线观看的av| 亚洲欧美国产精品专区久久 | 中文字幕视频免费观看 | 国产精品久久久久影院色老大 | 在线视频一区二区 | 在线观看亚洲 | 免费中文字幕 | 一级黄色片视频 | 国产精品手机在线 | 亚洲国产成人一区二区精品区 | 久久精品中文 | 日韩久色| av不卡在线播放 | 日韩日韩日韩日韩日韩日韩日韩 | 天天综合91 | 黄色影片免费在线观看 | 日韩成人精品在线观看 | 中文字幕精品视频在线观看 | 欧美日韩激情四射 | 中文字幕一区二区三区在线视频 | 久久精品综合 | 久久99精品一区二区三区三区 | 日韩免费视频 | 欧美午夜一区二区三区免费大片 | 日韩一区二区三区在线 | 国产精品2019| 午夜精品久久久久久 | 国产在线观看91一区二区三区 | 免费v片 | 亚洲国产精品久久久 | 成人免费在线电影 | 久久91精品久久久久久9鸭 | 国内精品亚洲 | 日韩在线无 | 久久成人免费视频 | 亚洲黄色免费观看 | 亚洲精品二区 | 国产美女在线观看 | 成人久久18免费网站图片 | 亚洲区一区二 | 国产精拍 | 不用播放器的毛片 | 国产精品久久久久国产a级 国产精品欧美一区二区三区不卡 | 久久亚洲视频 | 精品国产精品三级精品av网址 | 欧美a级成人淫片免费看 | 久久99精品久久久久蜜臀 | 国产精品久久久久久久久 | 激情综合久久 | www.国产高清 | 91av久久 | 亚洲第一区在线 | 男人的天堂久久 | 亚洲欧美成人影院 | 搞黄免费视频 | 一区不卡 | 小草av| 亚洲精品国产第一综合99久久 | 久久999视频 | 婷婷桃色网 | 亚洲女人天堂成人av在线 | 黄色91 | 精品少妇一区二区三区在线播放 | 欧美理论片在线 | 精品视频免费在线 | 中文字幕一二三区 | 一级久久久 | 日韩在线播放一区 | 国产小视频在线播放 | 国产看片网站 | 亚洲综合精品视频 | 你懂的在线视频播放 | 欧美成人免费观看 | 伊人一区 | 四虎免费看黄 | 影音先锋中文字幕一区 | 欧美一级特黄aaaaaaa视频片 | 日韩素人在线 | 成人涩涩网站 | 国内在线一区 | 欧美一区二| 99热在线播放 | 国产超碰人人模人人爽人人添 | 日本免费在线 | 亚洲精品视频在线 | 在线99视频 | 91大神免费在线观看 | 黄色av网站在线观看 | 国产精品99久久免费观看 | 太平公主一级艳史播放高清 | 亚洲www啪成人一区二区 | 色爱综合 | 黄色大片观看 | 欧美八区| 欧美一区日韩一区 | 国产精品中文字幕在线播放 | 国产成人精品无人区一区 | 蜜桃av一区 | 日本激情网 | 免费av在线网站 | 欧美精品 在线观看 | 在线播放亚洲 | 日韩中文视频 | 免费三片在线观看网站 | 亚洲成av人片一区二区三区 | 国产精品一区二区三区四区五区 | 免费观看一级毛片 | 国产精品a一区二区三区网址 | 国内精品视频在线观看 | 黑人性dh | 国产成人天天爽高清视频 | 国产一区精品视频 | 日韩国产欧美精品 | 蜜桃视频精品 | 岛国在线免费 | 成人精品一区二区三区 | 亚洲国产视频精品 | 色黄网站 | 久久伊人av | 亚洲精品久久久 | 久久精品一区二区三区四区 | 久久不射电影网 | 男人天堂社区 | 国产精品久久二区 | 成人不卡在线观看 | 精品www| 日韩成人小视频 | 国产精品www | 国产成人精品免高潮在线观看 | 欧美日韩久久久久 | 久久这里只有精品首页 | 久久夜夜 | 第一色网站 | 欧美亚洲日本 | 欧美成人黑人xx视频免费观看 | 99这里只有精品 | 久在线 | 亚洲色图综合 | 一级毛片免费视频 | 欧美视频三区 | 日韩爱爱免费视频 | 亚洲一区二区 | 亚洲午夜视频 | 999精品在线 | 成年人毛片视频 | 国产精品18hdxxxⅹ在线 | 婷婷成人免费视频 | 97色综合 | 久久精品免费视频播放 | 国产精品一二三区 | 91大神在线看 | 色综合久久久久 | 欧美精品一区二区三区四区 | 亚洲成人精品视频 | 天天操天天插天天干 | 欧美日韩国产中文字幕 | 精品亚洲视频在线 | 精品日韩在线 | 亚洲福利av | 自拍偷拍第一页 | 午夜免费视频 | 成人免费视频网站在线看 | 国产成人亚洲综合 | 日韩a∨精品日韩在线观看 山岸逢花在线 | 欧美成人高清视频 | 国产黄色免费视频 | 香蕉91| 亚洲免费成人 | 卡通动漫第一页 | 99久久精品一区二区成人 | 99re在线观看 | 国变精品美女久久久久av爽 | 久色| 可以在线观看的av网站 | 成人免费看片 | 福利片中文字幕 | av免费在线播放 | 亚洲精品日本 | 操操操日日日 | 精品www| 精品www| 中文字幕第一页在线 | 欧美啊v| 91在线精品一区二区 | 欧美日韩国产一区二区在线观看 | 中文字幕一区二区三区四区 | 欧美日韩精品网站 | 欧美大片在线看免费观看 | 欧美一级在线观看 | 日韩精品视频免费专区在线播放 | 欧亚视频在线观看 | 日本精品一区二区三区在线观看视频 | 爱爱视频网站 | 91精品久久久久 | 成人午夜免费网站 | 国产伦精品一区二区三区四区视频 |