《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > Java調用Ant API用法收集

Java調用Ant API用法收集

2008-11-21
作者:yaohao

Ant是Java程序員的一個好的工具,主要可以幫助程序員進行java項目的的管理,包括批量編譯、部署、文檔生成等工作,其用途遠不止如此,ant內置了大量的API進行各種文件系統" title="文件系統">文件系統操作,在各種應用服務器" title="應用服務器">應用服務器中都被廣泛應用于程序和資源的部署。
Ant功能強大的地方在于,程序員不僅能通過編寫Ant的腳本(build.xml)來進行各種文件部署管理操作,還可以通過調用Ant的豐富的API,甚至擴展Ant的API進行編程。
用于介紹Ant 腳本編寫的書比較多,而介紹Java 調用 Ant API的書籍和資料比較少,初學者用戶在進行Ant編程時會遇到不少麻煩,筆者也是在項目開發過程中,逐漸摸索并掌握了一些Java調用Ant API的一些方法和技巧,并將常用的案例收集起來呈現給大家(本文使用Ant 1.7.0版本),以供大家參考。當然,Ant的API非常豐富,本文僅做拋磚引玉之用,更強大的功能還需要讀者自己在結合Ant的API進行摸索和領悟。
1. 目錄操作:
1) 創建目錄

1. Project prj=new Project();
2. Mkdir mkdir=new Mkdir();
3. mkdir.setProject(prj);
4. mkdir.setDir(new File("d:tempdir1"));
5. mkdir.execute();


2) 刪除目錄

1. Project prj=new Project();
2. Delete delete=new Delete();
3. delete.setProject(prj);
4. delete.setDir(new File("d:tempdir1")); //可同時將子目錄及所有文件刪除
5. delete.execute();


注:對每一個Ant Task,如Mkdir,Delete、Copy、Move、Zip等,都必須設置一個Project對象,可以幾個Ant Task共用一個Project對象,但不能有Ant Task不設置Project對象。
2. 文件拷貝和移動、更名
1)文件copy

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempdir1"));
6. copy.execute(); //將f1.txt文件copy到dir1中


2)copy文件并同時替換其中的內容, 如將 xml中的 @eosapp_name@ 替換成真" title="成真">成真正的應用名稱

1. Project prj=new Project();
2. Copy copy = new Copy();
3. copy.setEncoding("UTF-8");
4. copy.setProject(prj);
5. copy.setTodir("d:temp");
6.
7. FileSet fileSet=new FileSet();
8. fileSet.setDir(new File(eosHome "/base/template.app"));
9. fileSet.setIncludes("**/*.xml");
10. copy.addFileset(fileSet);
11.
12. FilterSet filter=copy.createFilterSet();
13. filter.addFilter("eosapp_name","app1");
14. copy.execute();


2)文件或目錄移動
Move的用法和Copy用法基本一致,Move本身為Copy的子類" title="子類">子類。

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempdir1"));
6. copy.execute(); //將f1.txt文件移動到dir1中


3)文件改名:

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempf2.txt"));
6. copy.execute(); //將f1.txt文件更名為f2.txt中


4)目錄更名:

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempdir1");
5. copy.setTodir(new File("d:tempdir2"));
6. copy.execute(); //將dir1目錄更名為dir2,相當于將dir1目錄下的所有文件移到dir2目錄下


3.使用文件集 FileSet
使用文件集可以同時將多個滿足匹配條件的文件集合進行copy、move和壓縮等操作。

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setTodir(new File("d:temptodir"));
5.
6. FileSet fs=new FileSet();
7. fs.setProject(prj);
8. fs.setDir(new File("d:javaprjsrc"));
9. fs.setIncludes("**/*.*"); //包含所有文件
10. fs.setExcludes("**/CVS,**/*.class"); //排除CVS相關文件,以及.class文件
11. copy.addFileset(fs);
12.
13. copy.execute();


注: FileSet的setIncludes, 和setExcludes方法輸入pattern, pattern是一個使用“,”或空格分隔的匹配字符串,其中, “**”代表所有文件或目錄,“*.*”代表說有文件, “*.java”代表所有擴展名為java的文件。
4.目錄掃描,查找文件

1. DirectoryScanner ds=new DirectoryScanner();
2. ds.setBasedir(new File("d:tempwar"));
3. ds.setIncludes(new String[] );
4. ds.scan();
5. if(ds.getIncludedFilesCount()>0) {
6. System.out.println("found jsp!");
7. String[] includeFiles=ds.getIncludedFiles();
8. for(String file:includeFiles){
9. System.out.println(file);
10. }
11. }


5.文件壓縮,打包
//壓縮為zip文件

1. Project prj=new Project();
2. Zip zip=new Zip();
3. zip.setProject(prj);
4. zip.setDestFile(new File("d:tempsrc.zip"));
5. FileSet fileSet=new FileSet();
6. fileSet.setProject(prj);
7. fileSet.setDir(new File("d:javaprjprj1src"));
8. fileSet.setIncludes("**/*.java");
9. zip.addFileset(fileSet);
10. zip.execute();
11.
12. //將class文件打成jar包
13. Project prj=new Project();
14. Jar jar=new Jar();
15. jar.setProject(prj);
16. jar.setDestFile(new File("d:tempprj1.jar"));
17. FileSet fileSet=new FileSet();
18. fileSet.setProject(prj);
19. fileSet.setDir(new File("d:javaprjprj1bin"));
20. fileSet.setIncludes("**/*.class,**/*.properties");
21. jar.addFileset(fileSet);
22. jar.execute();


6.文件解壓
1)將壓縮文件中的所有文件解壓

1. Project prj=new Project();
2. Expand expand=new Expand();
3. expand.setProject(prj);
4. expand.setSrc(new File("d:tempsrc.zip"));
5. expand.setOverwrite(overwrite);
6. expand.setDest("d:tempoutsrc");
7. expand.execute();


2)將壓縮文件中的符合匹配條件的文件解壓

1. Project prj=new Project();
2. Expand expand=new Expand();
3. expand.setProject(prj);
4. expand.setSrc(new File("d:tempsrc.zip"));
5. expand.setOverwrite(overwrite);
6. expand.setDest("d:tempoutsrc");
7. PatternSet patternset = new PatternSet();
8. patternset.setIncludes("**/*.java");
9. patternset.setProject(prj);
10. expand.addPatternset(patternset);
11. expand.execute();


3)利用Mapper解壓文件: 如將 .../lib/*.jar 解壓到 .../WEB-INF/lib目錄下(去除目錄結構" title="目錄結構">目錄結構)

1. Expand expand = new Expand();
2. expand.setProject(prj);
3. expand.setSrc(new File(zipFilePath));
4. expand.setDest(new File(webDir "/WEB-INF/lib"));
5.
6. PatternSet pattern = new PatternSet();
7. pattern.setIncludes("lib/*.jar");
8. expand.addPatternset(pattern);
9.
10. FileNameMapper mapper=new FlatFileNameMapper();
11. expand.add(mapper);
12.
13. /* another way using mapper
14. Mapper mapper=expand.createMapper();
15. MapperType type=new MapperType();
16. type.setValue("flatten");
17. mapper.setType(type);
18. */
19. expand.execute();


7.讀取zip文件
1) 讀取zip文件中的文件和目錄

1. ZipFile zipfile = new ZipFile(new File(filepath));
2. for (Enumeration entries = zipfile.getEntries(); entries.hasMoreElements();) {
3. ZipEntry entry = (ZipEntry) entries.nextElement();
4. if(entry.isDirectory())
5. System.out.println("Directory: " entry.getName());
6. else
7. System.out.println("file: " entry.getName());
8. }
9. zipfile.close(); //ZipFile用完必須close,否則文件被鎖定


2)zip文件掃描,在Zip文件中查找目錄或文件

1. ZipScanner scan=new ZipScanner();
2. scan.setSrc(new File("d:temptest.zip"));
3. scan.setIncludes(new String[] ); //查找目錄(一、二級目錄);
4. scan.scan();
5. String dirs[]=scan.getIncludedDirectories();
6. scan.setIncludes(new String[]); //查找文件
7. scan.scan();
8. String files[]=scan.getIncludedFiles();


Ant是Java程序員的一個好的工具,主要可以幫助程序員進行java項目的的管理,包括批量編譯、部署、文檔生成等工作,其用途遠不止如此,ant內置了大量的API進行各種文件系統操作,在各種應用服務器中都被廣泛應用于程序和資源的部署。
Ant功能強大的地方在于,程序員不僅能通過編寫Ant的腳本(build.xml)來進行各種文件部署管理操作,還可以通過調用Ant的豐富的API,甚至擴展Ant的API進行編程。
用于介紹Ant 腳本編寫的書比較多,而介紹Java 調用 Ant API的書籍和資料比較少,初學者用戶在進行Ant編程時會遇到不少麻煩,筆者也是在項目開發過程中,逐漸摸索并掌握了一些Java調用Ant API的一些方法和技巧,并將常用的案例收集起來呈現給大家(本文使用Ant 1.7.0版本),以供大家參考。當然,Ant的API非常豐富,本文僅做拋磚引玉之用,更強大的功能還需要讀者自己在結合Ant的API進行摸索和領悟。
1. 目錄操作:
1) 創建目錄

1. Project prj=new Project();
2. Mkdir mkdir=new Mkdir();
3. mkdir.setProject(prj);
4. mkdir.setDir(new File("d:tempdir1"));
5. mkdir.execute();


2) 刪除目錄

1. Project prj=new Project();
2. Delete delete=new Delete();
3. delete.setProject(prj);
4. delete.setDir(new File("d:tempdir1")); //可同時將子目錄及所有文件刪除
5. delete.execute();


注:對每一個Ant Task,如Mkdir,Delete、Copy、Move、Zip等,都必須設置一個Project對象,可以幾個Ant Task共用一個Project對象,但不能有Ant Task不設置Project對象。
2. 文件拷貝和移動、更名
1)文件copy

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempdir1"));
6. copy.execute(); //將f1.txt文件copy到dir1中


2)copy文件并同時替換其中的內容, 如將 xml中的 @eosapp_name@ 替換成真正的應用名稱

1. Project prj=new Project();
2. Copy copy = new Copy();
3. copy.setEncoding("UTF-8");
4. copy.setProject(prj);
5. copy.setTodir("d:temp");
6.
7. FileSet fileSet=new FileSet();
8. fileSet.setDir(new File(eosHome "/base/template.app"));
9. fileSet.setIncludes("**/*.xml");
10. copy.addFileset(fileSet);
11.
12. FilterSet filter=copy.createFilterSet();
13. filter.addFilter("eosapp_name","app1");
14. copy.execute();


2)文件或目錄移動
Move的用法和Copy用法基本一致,Move本身為Copy的子類。

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempdir1"));
6. copy.execute(); //將f1.txt文件移動到dir1中


3)文件改名:

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempf1.txt");
5. copy.setTodir(new File("d:tempf2.txt"));
6. copy.execute(); //將f1.txt文件更名為f2.txt中


4)目錄更名:

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setFile(new File("d:tempdir1");
5. copy.setTodir(new File("d:tempdir2"));
6. copy.execute(); //將dir1目錄更名為dir2,相當于將dir1目錄下的所有文件移到dir2目錄下


3.使用文件集 FileSet
使用文件集可以同時將多個滿足匹配條件的文件集合進行copy、move和壓縮等操作。

1. Project prj=new Project();
2. Copy copy=new Copy();
3. copy.setProject(prj);
4. copy.setTodir(new File("d:temptodir"));
5.
6. FileSet fs=new FileSet();
7. fs.setProject(prj);
8. fs.setDir(new File("d:javaprjsrc"));
9. fs.setIncludes("**/*.*"); //包含所有文件
10. fs.setExcludes("**/CVS,**/*.class"); //排除CVS相關文件,以及.class文件
11. copy.addFileset(fs);
12.
13. copy.execute();


注: FileSet的setIncludes, 和setExcludes方法輸入pattern, pattern是一個使用“,”或空格分隔的匹配字符串,其中, “**”代表所有文件或目錄,“*.*”代表說有文件, “*.java”代表所有擴展名為java的文件。
4.目錄掃描,查找文件

1. DirectoryScanner ds=new DirectoryScanner();
2. ds.setBasedir(new File("d:tempwar"));
3. ds.setIncludes(new String[] );
4. ds.scan();
5. if(ds.getIncludedFilesCount()>0) {
6. System.out.println("found jsp!");
7. String[] includeFiles=ds.getIncludedFiles();
8. for(String file:includeFiles){
9. System.out.println(file);
10. }
11. }


5.文件壓縮,打包
//壓縮為zip文件

1. Project prj=new Project();
2. Zip zip=new Zip();
3. zip.setProject(prj);
4. zip.setDestFile(new File("d:tempsrc.zip"));
5. FileSet fileSet=new FileSet();
6. fileSet.setProject(prj);
7. fileSet.setDir(new File("d:javaprjprj1src"));
8. fileSet.setIncludes("**/*.java");
9. zip.addFileset(fileSet);
10. zip.execute();
11.
12. //將class文件打成jar包
13. Project prj=new Project();
14. Jar jar=new Jar();
15. jar.setProject(prj);
16. jar.setDestFile(new File("d:tempprj1.jar"));
17. FileSet fileSet=new FileSet();
18. fileSet.setProject(prj);
19. fileSet.setDir(new File("d:javaprjprj1bin"));
20. fileSet.setIncludes("**/*.class,**/*.properties");
21. jar.addFileset(fileSet);
22. jar.execute();


6.文件解壓
1)將壓縮文件中的所有文件解壓

1. Project prj=new Project();
2. Expand expand=new Expand();
3. expand.setProject(prj);
4. expand.setSrc(new File("d:tempsrc.zip"));
5. expand.setOverwrite(overwrite);
6. expand.setDest("d:tempoutsrc");
7. expand.execute();


2)將壓縮文件中的符合匹配條件的文件解壓

1. Project prj=new Project();
2. Expand expand=new Expand();
3. expand.setProject(prj);
4. expand.setSrc(new File("d:tempsrc.zip"));
5. expand.setOverwrite(overwrite);
6. expand.setDest("d:tempoutsrc");
7. PatternSet patternset = new PatternSet();
8. patternset.setIncludes("**/*.java");
9. patternset.setProject(prj);
10. expand.addPatternset(patternset);
11. expand.execute();


3)利用Mapper解壓文件: 如將 .../lib/*.jar 解壓到 .../WEB-INF/lib目錄下(去除目錄結構)

1. Expand expand = new Expand();
2. expand.setProject(prj);
3. expand.setSrc(new File(zipFilePath));
4. expand.setDest(new File(webDir "/WEB-INF/lib"));
5.
6. PatternSet pattern = new PatternSet();
7. pattern.setIncludes("lib/*.jar");
8. expand.addPatternset(pattern);
9.
10. FileNameMapper mapper=new FlatFileNameMapper();
11. expand.add(mapper);
12.
13. /* another way using mapper
14. Mapper mapper=expand.createMapper();
15. MapperType type=new MapperType();
16. type.setValue("flatten");
17. mapper.setType(type);
18. */
19. expand.execute();


7.讀取zip文件
1) 讀取zip文件中的文件和目錄

1. ZipFile zipfile = new ZipFile(new File(filepath));
2. for (Enumeration entries = zipfile.getEntries(); entries.hasMoreElements();) {
3. ZipEntry entry = (ZipEntry) entries.nextElement();
4. if(entry.isDirectory())
5. System.out.println("Directory: " entry.getName());
6. else
7. System.out.println("file: " entry.getName());
8. }
9. zipfile.close(); //ZipFile用完必須close,否則文件被鎖定


2)zip文件掃描,在Zip文件中查找目錄或文件

1. ZipScanner scan=new ZipScanner();
2. scan.setSrc(new File("d:temptest.zip"));
3. scan.setIncludes(new String[] ); //查找目錄(一、二級目錄);
4. scan.scan();
5. String dirs[]=scan.getIncludedDirectories();
6. scan.setIncludes(new String[]); //查找文件
7. scan.scan();
8. String files[]=scan.getIncludedFiles();

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲视频福利| 国产美女精品在线| 久久嫩草精品久久久精品| 欧美精品性视频| 这里只有精品在线播放| 久久久久久久一区二区三区| 国产精品毛片a∨一区二区三区|国| 欧美国产一区二区| 夜夜躁日日躁狠狠久久88av| 欧美色视频一区| 国产三级欧美三级| 欧美一区二区三区视频免费| 久久九九热re6这里有精品| 欧美伦理a级免费电影| 欧美日韩国产色综合一二三四| 中文av一区特黄| 久色婷婷小香蕉久久| 欧美日本在线一区| 欧美少妇一区二区| 国产在线视频欧美| 亚洲精品欧美专区| 精品成人一区二区| 免费日韩av电影| 国产精品青草久久久久福利99| 午夜久久美女| 久久精品国产综合精品| 亚洲欧美日韩国产综合在线| 免费在线看一区| 激情欧美日韩一区| 欧美精品一区在线观看| 午夜精品美女久久久久av福利| 伊人久久婷婷色综合98网| 亚洲香蕉网站| 亚洲精品日韩精品| 亚洲一区综合| 国产精品国产馆在线真实露脸| 韩国亚洲精品| 久久噜噜噜精品国产亚洲综合| 午夜精品区一区二区三| 国产日产亚洲精品系列| 久久婷婷人人澡人人喊人人爽| 亚洲激情网站免费观看| 日韩天堂在线观看| 久久久激情视频| 国产精品高清一区二区三区| 国产一区视频在线看| 亚洲欧美国产精品va在线观看| 亚洲欧洲在线播放| 亚洲精品久久在线| 亚洲第一区在线观看| 国内精品视频久久| 亚洲制服欧美中文字幕中文字幕| 夜夜嗨av色综合久久久综合网| 亚洲国产一区二区在线| 亚洲欧美影院| 国产精品一区二区三区免费观看| 国产欧美日韩视频| 国产中文一区二区| 欧美va天堂在线| 国产乱码精品一区二区三| 国产精品视频一区二区三区| 老司机成人网| 午夜国产精品视频免费体验区| 一区二区三区欧美亚洲| 亚洲国产欧美另类丝袜| 欧美激情一区二区三区蜜桃视频| 亚洲欧美日韩在线一区| 99热免费精品在线观看| 欧美在线视频一区二区三区| 亚洲欧美日韩国产另类专区| 91久久线看在观草草青青| 久久综合狠狠综合久久激情| 国产区日韩欧美| 欧美一区二区成人6969| 国产一区二区三区的电影| 欧美jizz19性欧美| 国产综合久久久久久鬼色| 久久精品国产一区二区三区免费看| 久久久久久久综合| 另类图片国产| 亚洲欧美国产va在线影院| 国产亚洲精品一区二区| 国内不卡一区二区三区| 欧美影院一区| 国产一区二区视频在线观看| 亚洲欧美视频在线观看视频| 国内精品久久久久久久影视麻豆| 久久深夜福利免费观看| 国产精品美女久久久久久2018| 亚洲欧美日韩国产| 亚洲国产日韩欧美一区二区三区| 久久精品国产第一区二区三区| 国产精品婷婷| 亚洲视频狠狠| 久久婷婷国产综合精品青草| 亚洲性av在线| 国产精品久久福利| 欧美一区二区三区免费在线看| 亚洲欧美不卡| 国产亚洲一级高清| 欧美尤物巨大精品爽| 亚洲免费视频中文字幕| 久久久噜噜噜久久| 欧美日韩一区在线观看视频| 国产一区二区三区四区| 国产精品www.| 亚洲三级电影在线观看| 在线免费日韩片| 精品av久久久久电影| 国产欧美日韩亚洲一区二区三区| 欧美大片在线看免费观看| 欧美日韩国产经典色站一区二区三区| 国产欧美视频一区二区| 欧美激情精品久久久久久久变态| 狠狠色丁香久久婷婷综合_中| 国内精品视频久久| 欧美一区二区三区四区高清| 午夜在线观看欧美| 亚洲第一在线视频| 99精品欧美| 亚洲欧洲日产国码二区| 久久影视三级福利片| 美女国内精品自产拍在线播放| 亚洲主播在线播放| 亚洲国产综合视频在线观看| 性一交一乱一区二区洋洋av| 欧美在线一级va免费观看| 狠狠入ady亚洲精品经典电影| 亚洲永久网站| 国产一区二区高清视频| 国产麻豆91精品| 国产一级久久| 国产精品永久在线| 亚洲欧美国产另类| 国产欧美一区二区三区国产幕精品| 亚洲视频综合在线| 国产亚洲精品久久久久动| 国产麻豆日韩| 老牛影视一区二区三区| 欧美成人免费大片| 欧美日韩视频一区二区| 欧美精品日韩www.p站| 欧美成人乱码一区二区三区| 国产欧美一区二区三区另类精品| 国产精品chinese| 欧美日韩第一区| 国模精品一区二区三区色天香| 国产美女精品人人做人人爽| 亚洲女人天堂成人av在线| 欧美国产日本高清在线| 欧美日韩国产色视频| 国产精品一区二区三区四区五区| 国产一级一区二区| 国产精品视频男人的天堂| 久久久久久香蕉网| 麻豆精品视频| 国产日产精品一区二区三区四区的观看方式| 99pao成人国产永久免费视频| 亚洲午夜在线视频| 久久中文久久字幕| 欧美三级韩国三级日本三斤| 欧美日韩一区二区高清| 男人的天堂亚洲在线| 欧美h视频在线| 国产综合第一页| 欧美粗暴jizz性欧美20| 国产精品人人做人人爽人人添| 亚洲清纯自拍| 亚洲国产欧美另类丝袜| 国产一区二区三区在线观看视频| 欧美成年人视频网站欧美| 国产亚洲精品aa| 亚洲国产精品免费| 国产一区视频网站| 亚洲精品美女久久久久| 在线综合欧美| 国产精品久久久久久久久搜平片| 亚洲视频在线观看免费| 国产精品草莓在线免费观看| 在线国产日韩| 乱中年女人伦av一区二区| 欧美一级专区| 久久国产欧美精品| 久久在线视频在线| 亚洲一区二区成人在线观看| 性娇小13――14欧美| 欧美 日韩 国产精品免费观看| 午夜视频在线观看一区| 国产精品久久777777毛茸茸| 亚洲一区黄色| 亚洲乱亚洲高清| 日韩一级免费观看| 久久免费视频在线观看| 免费成人毛片| 一区二区在线不卡| 国产综合激情| 久久久久久久一区二区| 午夜精品视频| 欧美jizz19性欧美| 精品99视频| 中日韩高清电影网| 欧美伊人影院| 欧美精品v国产精品v日韩精品| 欧美日韩国产成人在线观看| 亚洲国产老妈| 欧美成人一区二区三区片免费| 在线中文字幕不卡| 久久精品夜色噜噜亚洲a∨| 亚洲黄色成人久久久| 99re亚洲国产精品| 久久久久久尹人网香蕉| 欧美一级大片在线观看| 久久久久久九九九九| 国产精品九九久久久久久久| 亚洲精品免费一区二区三区| 国产欧美精品va在线观看| 免费成人在线视频网站| 欧美在线地址| 欧美专区在线观看一区| 欧美性猛交一区二区三区精品| 一区二区在线视频| 欧美日韩国产综合视频在线观看中文| 在线观看一区| 亚洲精品久久久久中文字幕欢迎你| 国产精品国产三级国产a| 免费观看欧美在线视频的网站| 亚洲三级电影全部在线观看高清| 午夜欧美视频| 欧美国产日韩xxxxx| 国产精品久久久久久久久免费樱桃| 欧美大香线蕉线伊人久久国产精品| 在线亚洲欧美专区二区| 激情综合久久| 欧美色网一区二区| 亚洲毛片在线免费观看| 91久久久国产精品| 在线观看欧美精品| 含羞草久久爱69一区| 国产精品成人一区二区三区吃奶| 夜夜嗨一区二区三区| 欧美va亚洲va香蕉在线| 亚洲国产色一区| 欧美激情91| 亚洲精品国产精品乱码不99按摩| 亚洲国产精品久久91精品| 久久国内精品自在自线400部| 久久精品视频在线播放| 黄色精品一区| 亚洲色图自拍| 欧美视频一区二区三区在线观看| 国产人成精品一区二区三| 久久电影一区| 国产欧美日韩高清| 欧美国产日韩免费| 国产亚洲欧美一区二区| 欧美激情视频给我| 亚洲欧美视频在线| 91久久国产综合久久91精品网站| 国产精品久久久久久久免费软件| 一区二区三区在线不卡| 欧美aⅴ一区二区三区视频| 1000精品久久久久久久久| 亚洲开发第一视频在线播放| 欧美午夜片欧美片在线观看| 欧美精品在线免费播放| 国产亚洲一二三区| 欧美激情综合在线| 国内一区二区三区在线视频| 亚洲欧美制服另类日韩| 欧美不卡视频一区| 午夜精品视频在线观看一区二区| 亚洲欧洲av一区二区三区久久| 亚洲网站视频福利| 国产真实精品久久二三区| 国产专区一区| 一区二区三区高清视频在线观看| 欧美国产激情二区三区| 女女同性女同一区二区三区91| 欧美在线亚洲| 国产精品久久久久秋霞鲁丝| 国语自产精品视频在线看8查询8| 国产午夜精品全部视频播放| 亚洲人成在线观看一区二区| 欧美刺激性大交免费视频| 国语精品中文字幕| 欧美亚洲在线视频| 国产日韩精品在线播放| 亚洲福利视频网| 女同性一区二区三区人了人一| 亚洲深夜福利视频| 国产精品对白刺激久久久| 狠狠色综合日日| 欧美成人午夜免费视在线看片| 亚洲激情av在线| 国产日韩欧美a| 国内自拍视频一区二区三区| 亚洲欧美成人在线| 国产日韩欧美制服另类| 国产精品一区毛片| 欧美日韩亚洲综合| 久久久久久电影| 国内精品视频一区| 国产亚洲激情| 国产精品入口日韩视频大尺度| 欧美视频在线免费| 麻豆9191精品国产| 午夜视频在线观看一区| 亚洲国产精品电影在线观看| 亚洲高清免费视频| 久久嫩草精品久久久精品| 国产精品自拍网站| 国产精品一区久久| 欧美一区视频| 亚洲欧美成人精品| 一区二区三区高清在线观看| 国产精品日韩一区二区| 亚洲欧洲一区二区在线播放| 在线精品亚洲| 日韩午夜视频在线观看| 久久亚洲捆绑美女| 亚洲美女在线视频| 欧美大片在线影院| 亚洲国产精品精华液网站| 欧美乱妇高清无乱码| 欧美激情亚洲国产| 亚洲一区二区网站| 欧美日韩一区二区三区免费看| 亚洲女人天堂av|