日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

转载:JAVA 操作 Ant API

發布時間:2025/3/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转载:JAVA 操作 Ant API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Java調用Ant API用法?
用法 API 調用 JAVA?
Ant
Java程序員的一個好的工具,主要可以幫助程序員進行java項目的的管理,包括批量編譯、部署、文檔生成等工作,其用途遠不止如此,ant內置了大量的API進行各種文件系統操作,在各種應用服務器中都被廣泛應用于程序和資源的部署。?

Ant
功能強大的地方在于,程序員不僅能通過編寫Ant的腳本(build.xml)來進行各種文件部署管理操作,還可以通過調用Ant的豐富的API,甚至擴展AntAPI進行編程。?

用于介紹Ant 腳本編寫的書比較多,而介紹Java 調用 Ant API的書籍和資料比較少,初學者用戶在進行Ant編程時會遇到不少麻煩,筆者也是在項目開發過程中,逐漸摸索并掌握了一些Java調用Ant API的一些方法和技巧,并將常用的案例收集起來呈現給大家(本文使用Ant 1.7.0版本),以供大家參考。當然,AntAPI非常豐富,本文僅做拋磚引玉之用,更強大的功能還需要讀者自己在結合AntAPI進行摸索和領悟。?

1
? 目錄操作:?
1
? 創建目錄?


Project prj=new Project();?
Mkdir mkdir=new Mkdir();?
mkdir.setProject(prj);?
mkdir.setDir(new File("d:tempdir1"));?
mkdir.execute();?

2
? 刪除目錄?


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

注:對每一個Ant Task,如MkdirDeleteCopyMoveZip等,都必須設置一個Project對象,可以幾個Ant Task共用一個Project對象,但不能有Ant Task不設置Project對象。?

2.
文件拷貝和移動、更名?
1
)文件copy?


Project prj=new Project();?
Copy copy=new Copy();?
copy.setProject(prj);?
copy.setFile(new File("d:tempf1.txt");?
copy.setTodir(new File("d:tempdir1"));?
copy.execute(); //
f1.txt文件copydir1?

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


Project prj=new Project();?
Copy copy = new Copy();?
copy.setEncoding("UTF-8");?
copy.setProject(prj);?
copy.setTodir("d:temp");?

FileSet fileSet=new FileSet();?
fileSet.setDir(new File(eosHome+"/base/template.app"));?
fileSet.setIncludes("**/*.xml");?
copy.addFileset(fileSet);?

FilterSet filter=copy.createFilterSet();?
filter.addFilter("eosapp_name","app1");?
copy.execute();?

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


Project prj=new Project();?
Copy copy=new Copy();?
copy.setProject(prj);?
copy.setFile(new File("d:tempf1.txt");?
copy.setTodir(new File("d:tempdir1"));?
copy.execute(); //
f1.txt文件移動到dir1?

3
)文件改名:?


Project prj=new Project();?
Copy copy=new Copy();?
copy.setProject(prj);?
copy.setFile(new File("d:tempf1.txt");?
copy.setTodir(new File("d:tempf2.txt"));?
copy.execute(); //
f1.txt文件更名為f2.txt?

4
)目錄更名:?


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

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


Project prj=new Project();?
Copy copy=new Copy();?
copy.setProject(prj);?
copy.setTodir(new File("d:temptodir"));?

FileSet fs=new FileSet();?
fs.setProject(prj);?
fs.setDir(new File("d:javaprjsrc"));?
fs.setIncludes("**/*.*"); //
包含所有文件?
fs.setExcludes("**/CVS,**/*.class"); //
排除CVS相關文件,以及.class文件?
copy.addFileset(fs);?

copy.execute();?

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

4
.目錄掃描,查找文件?


DirectoryScanner ds=new DirectoryScanner();?
ds.setBasedir(new File("d:tempwar"));?
ds.setIncludes(new String[] );?
ds.scan();?
if(ds.getIncludedFilesCount()>0) {?
System.out.println("found jsp!");?
String[] includeFiles=ds.getIncludedFiles();?
for(String file:includeFiles){?
System.out.println(file);?
}?
}?

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


Project prj=new Project();?
Zip zip=new Zip();?
zip.setProject(prj);?
zip.setDestFile(new File("d:tempsrc.zip"));?
FileSet fileSet=new FileSet();?
fileSet.setProject(prj);?
fileSet.setDir(new File("d:javaprjprj1src"));?
fileSet.setIncludes("**/*.java");?
zip.addFileset(fileSet);?
zip.execute();?

//
class文件打成jar?
Project prj=new Project();?
Jar jar=new Jar();?
jar.setProject(prj);?
jar.setDestFile(new File("d:tempprj1.jar"));?
FileSet fileSet=new FileSet();?
fileSet.setProject(prj);?
fileSet.setDir(new File("d:javaprjprj1bin"));?
fileSet.setIncludes("**/*.class,**/*.properties");?
jar.addFileset(fileSet);?
jar.execute();?

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


Project prj=new Project();?
Expand expand=new Expand();?
expand.setProject(prj);?
expand.setSrc(new File("d:tempsrc.zip"));?
expand.setOverwrite(overwrite);?
expand.setDest("d:tempoutsrc");?
expand.execute();?

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


Project prj=new Project();?
Expand expand=new Expand();?
expand.setProject(prj);?
expand.setSrc(new File("d:tempsrc.zip"));?
expand.setOverwrite(overwrite);?
expand.setDest("d:tempoutsrc");?
PatternSet patternset = new PatternSet();?
patternset.setIncludes("**/*.java");?
patternset.setProject(prj);?
expand.addPatternset(patternset);?
expand.execute();?

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


Expand expand = new Expand();?
expand.setProject(prj);?
expand.setSrc(new File(zipFilePath));?
expand.setDest(new File(webDir+"/WEB-INF/lib"));?

PatternSet pattern = new PatternSet();?
pattern.setIncludes("lib/*.jar");?
expand.addPatternset(pattern);?

FileNameMapper mapper=new FlatFileNameMapper();?
expand.add(mapper);?

/* another way using mapper?
Mapper mapper=expand.createMapper();?
MapperType type=new MapperType();?
type.setValue("flatten");?
mapper.setType(type);?
*/?
expand.execute();?

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


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

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

ZipScanner scan=new ZipScanner();?
scan.setSrc(new File("d:temptest.zip"));?
scan.setIncludes(new String[] ); //
查找目錄(一、二級目錄);?
scan.scan();?
String dirs[]=scan.getIncludedDirectories();?
scan.setIncludes(new String[]); //
查找文件?
scan.scan();?
String files[]=scan.getIncludedFiles();

?


轉載于:https://my.oschina.net/Kimerchina/blog/354036

總結

以上是生活随笔為你收集整理的转载:JAVA 操作 Ant API的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲xx在线 | 亚洲美女www午夜 | 国产一级爱 | 毛片视屏 | 人人妻人人澡人人爽国产一区 | 喷潮在线 | 你懂的视频在线播放 | 婷婷影音 | 风流老熟女一区二区三区 | 欧美日韩在线影院 | 韩国毛片一区二区 | 一本视频在线 | 国产精品v亚洲精品v日韩精品 | 成人国产在线观看 | www.999热| 欧美日韩中文国产 | 国产视频第二页 | 一本久久精品一区二区 | 99re久久精品国产 | 黄色免费网站在线观看 | 成人久久久精品乱码一区二区三区 | 天天操天天看 | 成人综合久久 | 插插插日日日 | 亚洲午夜免费视频 | 日本激情网站 | 男人的天堂影院 | 岛国一区 | 一个人看的www片免费高清中文 | 在线日韩一区 | 波多野结衣在线观看一区 | 欧美性生活一级 | 另类专区欧美 | 性――交――性――乱睡觉 | 精品人妻一区二区三区在线视频 | 99精品久久久久久久 | 999xxxxx| 雪花飘电影在线观看免费高清 | 日韩人妻精品中文字幕 | 手机在线中文字幕 | se94se欧美 | 午夜啪啪网 | a在线免费观看 | 男女黄色录像 | 深夜福利一区 | 久久一级免费视频 | 美女av一区| 日韩一区二区三区三四区视频在线观看 | 91视频最新地址 | 森泽佳奈在线播放 | 不卡av免费在线观看 | 成人国产精品久久久网站 | 高清一区在线观看 | 嫩草视频91 | 免费裸体视频网站 | 一区在线播放 | 午夜免费福利小电影 | 久久久久精 | 亚洲乱亚洲 | 久久婷五月天 | 雨宫琴音一区二区三区 | 亚洲电影在线观看 | 久色资源| 免费亚洲一区二区 | 久久精品韩国 | 在线精品视频免费观看 | 国产香蕉精品 | 国产乱码一区二区三区 | 国产男男gay体育生白袜 | 亚欧av在线| 免费毛片网站在线观看 | 91官网视频| 奇米狠狠去啦 | 人人妻人人澡人人爽人人欧美一区 | 成人做爰69片免费看 | 少妇毛片一区二区三区粉嫩av | 国产精品卡一卡二 | 小泽玛利亚一区二区三区视频 | 草草影院最新地址 | 亚洲无线观看 | 日本美女一区二区 | 欧美日韩不卡一区二区 | av在线伊人| 日韩免费在线观看 | 成人久久国产 | 曰批免费视频播放免费 | 少妇又紧又色 | 伊人网视频 | 亚洲成人激情av | 国产精品海角社区 | 国产91精品高潮白浆喷水 | 双性人bbww欧美双性 | 夜夜嗨av一区二区三区网页 | 亚洲人人爱 | 国产h在线 | 亚洲欧美www | 就要操av| 日本最黄网站 | 蜜臀av一区二区三区 |