成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Apache Commons 工具集使用簡介

開發 開發工具
pache Commons包含了很多開源的工具,用于解決平時編程經常會遇到的問題,減少重復勞動。我選了一些比較常用的項目做簡單介紹。文中用了很多網上現成的東西,我只是做了一個匯總整理。

pache Commons包含了很多開源的工具,用于解決平時編程經常會遇到的問題,減少重復勞動。我選了一些比較常用的項目做簡單介紹。文中用了很多網上現成的東西,我只是做了一個匯總整理。

一、Commons BeanUtils

http://jakarta.apache.org/commons/beanutils/index.html

說明:針對Bean的一個工具集。由于Bean往往是有一堆get和set組成,所以BeanUtils也是在此基礎上進行一些包裝。

使用示例:功能有很多,網站上有詳細介紹。一個比較常用的功能是Bean Copy,也就是copy bean的屬性。如果做分層架構開發的話就會用到,比如從PO(Persistent Object)拷貝數據到VO(Value Object)。

傳統方法如下:

 

  1. //得到TeacherForm 
  2.  
  3. TeacherForm teacherForm=(TeacherForm)form; 
  4.  
  5. //構造Teacher對象 
  6.  
  7. Teacher teacher=new Teacher(); 
  8.  
  9. //賦值 
  10. teacher.setName(teacherForm.getName()); 
  11. teacher.setAge(teacherForm.getAge()); 
  12. teacher.setGender(teacherForm.getGender()); 
  13. teacher.setMajor(teacherForm.getMajor()); 
  14. teacher.setDepartment(teacherForm.getDepartment()); 
  15.  
  16. //持久化Teacher對象到數據庫 
  17. HibernateDAO= ; 
  18. HibernateDAO.save(teacher); 

使用BeanUtils后,代碼就大大改觀了,如下所示:

 

  1. //得到TeacherForm 
  2. TeacherForm teacherForm=(TeacherForm)form; 
  3. //構造Teacher對象 
  4. Teacher teacher=new Teacher(); 
  5.  
  6. //賦值 
  7. BeanUtils.copyProperties(teacher,teacherForm); 
  8.  
  9. //持久化Teacher對象到數據庫 
  10. HibernateDAO= ; 
  11. HibernateDAO.save(teacher); 

二、Commons CLI

http://jakarta.apache.org/commons/cli/index.html

說明:這是一個處理命令的工具。比如main方法輸入的string[]需要解析。你可以預先定義好參數的規則,然后就可以調用CLI來解析。

使用示例:

 

  1. // create Options object 
  2. Options options = new Options(); 
  3. // add t option, option is the command parameter, false indicates that 
  4. // this parameter is not required. 
  5.  
  6. options.addOption(“t”, false, “display current time”); 
  7. options.addOption("c"true"country code"); 
  8.  
  9. CommandLineParser parser = new PosixParser(); 
  10. CommandLine cmd = parser.parse( options, args); 
  11.  
  12. if(cmd.hasOption("t")) { 
  13.    // print the date and time 
  14. }else { 
  15.    // print the date 
  16.  
  17. // get c option value 
  18. String countryCode = cmd.getOptionValue("c"); 
  19.  
  20. if(countryCode == null) { 
  21.     // print default date 
  22. }else { 
  23.     // print date for country specified by countryCode 

三、Commons Codec

http://jakarta.apache.org/commons/codec/index.html

說明:這個工具是用來編碼和解碼的,包括Base64,URL,Soundx等等。用這個工具的人應該很清楚這些,我就不多介紹了。

四、Commons Collections

http://jakarta.apache.org/commons/collections/

說明:你可以把這個工具看成是java.util的擴展。

使用示例:舉一個簡單的例子

  1. OrderedMap map = new LinkedMap(); 
  2. map.put("FIVE""5"); 
  3. map.put("SIX""6"); 
  4. map.put("SEVEN""7"); 
  5. map.firstKey(); // returns "FIVE" 
  6. map.nextKey("FIVE"); // returns "SIX" 
  7. map.nextKey("SIX"); // returns "SEVEN" 

五、Commons Configuration

http://jakarta.apache.org/commons/configuration/

說明:這個工具是用來幫助處理配置文件的,支持很多種存儲方式

1. Properties files
2. XML documents
3. Property list files (.plist)
4. JNDI
5. JDBC Datasource
6. System properties
7. Applet parameters
8. Servlet parameters

使用示例:舉一個Properties的簡單例子

 

  1. # usergui.properties, definining the GUI, 
  2. colors.background = #FFFFFF 
  3. colors.foreground = #000080 
  4. window.width = 500 
  5. window.height = 300 
  6.  
  7. PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties"); 
  8. config.setProperty("colors.background", "#000000); 
  9. config.save(); 
  10.  
  11. config.save("usergui.backup.properties);//save a copy 
  12. Integer integer = config.getInteger("window.width"); 
  13.  
  14. Commons DBCP 
  15.  
  16. http://jakarta.apache.org/commons/dbcp/ 

說明:Database Connection pool, Tomcat就是用的這個,不用我多說了吧,要用的自己去網站上看說明。

六、Commons DbUtils

http://jakarta.apache.org/commons/dbutils/

說明:我以前在寫數據庫程序的時候,往往把數據庫操作單獨做一個包。DbUtils就是這樣一個工具,以后開發不用再重復這樣的工作了。值得一體的是,這個工具并不是現在流行的OR-Mapping工具(比如Hibernate),只是簡化數據庫操作,比如

QueryRunner run = new QueryRunner(dataSource);

// Execute the query and get the results back from the handler
Object[] result = (Object[]) run.query("SELECT * FROM Person WHERE name=?", "John Doe");

七、Commons FileUpload

http://jakarta.apache.org/commons/fileupload/

說明:jsp的上傳文件功能怎么做呢?

使用示例:

 

  1. // Create a factory for disk-based file items 
  2. FileItemFactory factory = new DiskFileItemFactory(); 
  3. // Create a new file upload handler 
  4. ServletFileUpload upload = new ServletFileUpload(factory); 
  5.  
  6. // Parse the request 
  7. List /* FileItem */ items = upload.parseRequest(request); 
  8. // Process the uploaded items 
  9. Iterator iter = items.iterator(); 
  10. while (iter.hasNext()) { 
  11.      FileItem item = (FileItem) iter.next(); 
  12.      if (item.isFormField()) { 
  13.         processFormField(item); 
  14.      } else { 
  15.         processUploadedFile(item); 
  16.      } 

八、Commons HttpClient

http://jakarta.apache.org/commons/httpclient/

說明:這個工具可以方便通過編程的方式去訪問網站。

使用示例:最簡單的Get操作

 

  1. GetMethod get = new GetMethod("http://jakarta.apache.org"); 
  2.  
  3. // execute method and handle any error responses. 
  4.  
  5. ... 
  6.  
  7. InputStream in = get.getResponseBodyAsStream(); 
  8. // Process the data from the input stream. 
  9. get.releaseConnection(); 

九、Commons IO

http://jakarta.apache.org/commons/io/

說明:可以看成是java.io的擴展,我覺得用起來非常方便。

使用示例:

1.讀取Stream

標準代碼:

  1. InputStream in = new URL( "http://jakarta.apache.org" ).openStream(); 
  2. try { 
  3.        InputStreamReader inR = new InputStreamReader( in ); 
  4.        BufferedReader buf = new BufferedReader( inR ); 
  5.        String line; 
  6.        while ( ( line = buf.readLine() ) != null ) { 
  7.           System.out.println( line ); 
  8.        } 
  9.   } finally { 
  10.     in.close(); 
  11.   } 

使用IOUtils

  1. InputStream in = new URL( "http://jakarta.apache.org" ).openStream(); 
  2. try { 
  3.     System.out.println( IOUtils.toString( in ) ); 
  4. finally { 
  5.     IOUtils.closeQuietly(in); 

2.讀取文件

  1. File file = new File("/commons/io/project.properties"); 
  2. List lines = FileUtils.readLines(file, "UTF-8"); 

3.察看剩余空間

long freeSpace = FileSystemUtils.freeSpace("C:/");

十、Commons JXPath

http://jakarta.apache.org/commons/jxpath/

說明:Xpath你知道吧,那么JXpath就是基于Java對象的Xpath,也就是用Xpath對Java對象進行查詢。這個東西還是很有想像力的。

使用示例:

Address address = (Address)JXPathContext.newContext(vendor).
getValue("locations[address/zipCode='90210']/address");

上述代碼等同于

  1. Address address = null
  2. Collection locations = vendor.getLocations(); 
  3. Iterator it = locations.iterator(); 
  4. while (it.hasNext()){ 
  5.     Location location = (Location)it.next(); 
  6.     String zipCode = location.getAddress().getZipCode(); 
  7.     if (zipCode.equals("90210")){ 
  8.        address = location.getAddress(); 
  9.         break
  10.     } 

十一、Commons Lang

http://jakarta.apache.org/commons/lang/

說明:這個工具包可以看成是對java.lang的擴展。提供了諸如StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils等工具類。

十二、Commons Logging

http://jakarta.apache.org/commons/logging/

說明:你知道log4j嗎?

十三、Commons Math

http://jakarta.apache.org/commons/math/

說明:看名字你就應該知道這個包是用來干嘛的了吧。這個包提供的功能有些和Commons Lang重復了,但是這個包更專注于做數學工具,功能更強大。

十四、Commons Net

http://jakarta.apache.org/commons/net/

說明:這個包還是很實用的,封裝了很多網絡協議。

1. FTP
2. NNTP
3. SMTP
4. POP3
5. Telnet
6. TFTP
7. Finger
8. Whois
9. rexec/rcmd/rlogin
10. Time (rdate) and Daytime
11. Echo
12. Discard
13. NTP/SNTP

使用示例:

TelnetClient telnet = new TelnetClient();
telnet.connect( "192.168.1.99", 23 );
InputStream in = telnet.getInputStream();
PrintStream out = new PrintStream( telnet.getOutputStream() );
...
telnet.close();

十五、Commons Validator

http://jakarta.apache.org/commons/validator/

說明:用來幫助進行驗證的工具。比如驗證Email字符串,日期字符串等是否合法。

使用示例:

  1. // Get the Date validator 
  2. DateValidator validator = DateValidator.getInstance(); 
  3. // Validate/Convert the date 
  4. Date fooDate = validator.validate(fooString, "dd/MM/yyyy"); 
  5. if (fooDate == null) { 
  6.     // error...not a valid date 
  7.     return

十六、Commons Virtual File System

http://jakarta.apache.org/commons/vfs/

說明:提供對各種資源的訪問接口。支持的資源類型包括

1. CIFS
2. FTP
3. Local Files
4. HTTP and HTTPS
5. SFTP
6. Temporary Files
7. WebDAV
8. Zip, Jar and Tar (uncompressed, tgz or tbz2)
9. gzip and bzip2
10. res
11. ram

這個包的功能很強大,極大的簡化了程序對資源的訪問。

使用示例:

從jar中讀取文件

 

  1. // Locate the Jar file 
  2. FileSystemManager fsManager = VFS.getManager(); 
  3. FileObject jarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" ); 
  4.  
  5. // List the children of the Jar file 
  6. FileObject[] children = jarFile.getChildren(); 
  7. System.out.println( "Children of " + jarFile.getName().getURI() ); 
  8. for ( int i = 0; i < children.length; i++ ){ 
  9.     System.out.println( children[ i ].getName().getBaseName() ); 

從smb讀取文件

StaticUserAuthenticator auth = new StaticUserAuthenticator("username", "password", null);
FileSystemOptions opts = new FileSystemOptions();
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
FileObject fo = VFS.getManager().resolveFile("smb://host/anyshare/dir", opts);

責任編輯:王雪燕 來源: codeceo
相關推薦

2019-05-07 11:02:55

Java開發代碼

2011-12-15 09:13:11

Digesterjavaxml

2011-12-14 09:46:39

JSPJava

2011-07-14 10:53:54

TKPROFOracle

2009-12-30 15:47:14

ADO 記錄集

2010-12-17 09:33:06

Clonezilla磁盤克隆

2010-01-18 15:40:37

Visual C++工

2009-12-30 10:41:27

Ubuntu Apac

2022-06-01 13:52:11

開源大數據

2009-09-18 13:53:09

LINQ工具集

2009-12-23 14:10:23

Linux截屏工具

2010-06-08 15:59:38

UML建模工具

2010-06-21 15:04:00

Linux apt

2015-09-07 17:13:10

SysInternal工具Windows 10

2015-07-28 17:51:07

2024-05-29 08:00:00

2011-07-19 14:38:06

jQuery Mobi

2009-12-14 14:00:39

VS 關系圖

2011-04-14 17:32:21

2010-02-24 14:53:33

Python開發工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人小视频在线观看 | 高清av电影 | 一区二区三区小视频 | 国产成人精品999在线观看 | av一区二区在线观看 | 91麻豆产精品久久久久久 | 都市激情亚洲 | 国产一区二区免费电影 | 99九九视频| 中文成人在线 | 久优草 | 欧美在线成人影院 | 一级毛片在线播放 | 成人国产精品久久久 | 欧美电影在线观看网站 | 91精品国产综合久久小仙女图片 | 日韩欧美一区二区三区免费观看 | 亚洲最色视频 | 精品欧美一区二区精品久久久 | av电影一区 | 国产精品精品久久久久久 | 欧美日韩国产精品一区二区 | 秋霞国产 | 国产视频精品在线 | 亚洲视频国产视频 | 午夜精品影院 | 欧美一级免费看 | 特一级毛片| 超碰人人做 | 免费一级淫片aaa片毛片a级 | 免费观看av网站 | 国产精品成人一区二区 | 亚洲激情自拍偷拍 | av免费网址| 久久国产精品99久久久久 | 欧美日韩精品免费观看 | 老司机狠狠爱 | 欧美日韩黄色一级片 | 久久宗合色 | 久久成人在线视频 | 久久久久久国产 |