20个经典的Java应用

下面是20个非常有用的Java程序片段,希望能对你有用。
1. 字符串有整型的相互转换
   

[java]
  1. Java代码  
  2. String a = String.valueOf( 2 ); 或者 String a= 2 + "" ;    //integer to numeric string    
  3. int  i = Integer.parseInt(a);  //numeric string to an int   

2. 向文件末尾添加内容
   

[java]
  1. Java代码  
  2. BufferedWriter out =  null ;  
  3.     try  {  
  4.     out =  new  BufferedWriter( new  FileWriter(”filename”,  true ));  
  5.     out.write(”aString”);  
  6.    }  catch  (IOException e) {  
  7.      // error processing code    
  8.    }  finally  {  
  9. if  (out !=  null ) {  
  10.    out.close();  
  11.    }  
  12. }  

3. 得到当前方法的名字
   

[java]
  1. Java代码  
  2. String methodName = Thread.currentThread().getStackTrace()[ 1 ].getMethodName();  

4. 转字符串到日期
   

[java]
  1. Java代码  
  2. java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);  

或者是:
   

[java]
  1. SimpleDateFormat format =  new  SimpleDateFormat(  "dd.MM.yyyy"  );  
  2. Date date = format.parse( myString );  

5. 使用JDBC链接Oracle
   

[java]
  1. Java代码  
  2. public   class  OracleJdbcTest{  
  3.    String driverClass =  "oracle.jdbc.driver.OracleDriver" ;  
  4.    Connection con;  
  5.     public   void  init(FileInputStream fs)  throws  ClassNotFoundException, SQLException, FileNotFoundException, IOException{  
  6.      Properties props =  new  Properties();  
  7.      props.load(fs);  
  8.      String url = props.getProperty( "db.url" );  
  9.      String userName = props.getProperty( "db.user" );  
  10.      String password = props.getProperty( "db.password" );  
  11.      Class.forName(driverClass);  
  12.      con=DriverManager.getConnection(url, userName, password);  
  13.    }  
  14.     public   void  fetch()  throws  SQLException, IOException{  
  15.      PreparedStatement ps = con.prepareStatement( "select SYSDATE from dual" );  
  16.      ResultSet rs = ps.executeQuery();  
  17.       while  (rs.next()){  
  18.         // do the thing you do    
  19.      }  
  20.      rs.close();  
  21.      ps.close();  
  22.    }  
  23.     public   static   void  main(String[] args){  
  24.     OracleJdbcTest test =  new  OracleJdbcTest();  
  25.     test.init();  
  26.     test.fetch();  
  27.     }  
  28.   }  

 6. 把 Java util.Date 转成 sql.Date
   

[java]
  1. Java代码  
  2.  java.util.Date utilDate =  new  java.util.Date();  
  3.  java.sql.Date sqlDate =  new  java.sql.Date(utilDate.getTime());  

7. 使用NIO进行快速的文件拷贝
   

[java]
  1. Java代码  
  2. public   static   void  fileCopy( File in, File out ) throws  IOException{  
  3.    FileChannel inChannel =  new  FileInputStream( in ).getChannel();  
  4.    FileChannel outChannel =  new  FileOutputStream( out ).getChannel();  
  5.     try {  
  6.      //          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows    
  7.      // magic number for Windows, 64Mb - 32Kb)    
  8.         int  maxCount = ( 64  *  1024  *  1024 ) - ( 32  *  1024 );  
  9.        long  size = inChannel.size();  
  10.        long  position =  0 ;  
  11.        while  ( position < size ){  
  12.          position += inChannel.transferTo( position, maxCount, outChannel );  
  13.       }  
  14.    } finally {  
  15.      if  ( inChannel !=  null  ){  
  16.        inChannel.close();  
  17.     }  
  18.      if  ( outChannel !=  null  ){  
  19.        outChannel.close();  
  20.     }  
  21.    }  
  22. }  

8. 创建图片的缩略图
  

[java]
  1. Java代码  
  2.   private   void  createThumbnail(String filename,  int  thumbWidth,  int  thumbHeight,  int  quality, String outFilename)  
  3.      throws  InterruptedException, FileNotFoundException, IOException  
  4.     {  
  5.      // load image from filename    
  6.     Image image = Toolkit.getDefaultToolkit().getImage(filename);  
  7.     MediaTracker mediaTracker =  new  MediaTracker( new  Container());  
  8.     mediaTracker.addImage(image,  0 );  
  9.     mediaTracker.waitForID( 0 );  
  10.      // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());    
  11.      // determine thumbnail size from WIDTH and HEIGHT    
  12.      double  thumbRatio = ( double )thumbWidth / ( double )thumbHeight;  
  13.      int  imageWidth = image.getWidth( null );  
  14.      int  imageHeight = image.getHeight( null );  
  15.      double  imageRatio = ( double )imageWidth / ( double )imageHeight;  
  16.      if  (thumbRatio < imageRatio) {  
  17.     thumbHeight = ( int )(thumbWidth / imageRatio);  
  18.     }  else  {  
  19.     thumbWidth = ( int )(thumbHeight * imageRatio);  
  20.     }  
  21.    // draw original image to thumbnail image object and    
  22.      // scale it to the new size on-the-fly    
  23.     BufferedImage thumbImage =  new  BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);  
  24.     Graphics2D graphics2D = thumbImage.createGraphics();  
  25.     graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);  
  26.     graphics2D.drawImage(image,  0 0 , thumbWidth, thumbHeight,  null );  
  27.      // save thumbnail image to outFilename    
  28.     BufferedOutputStream out =  new  BufferedOutputStream( new  FileOutputStream(outFilename));  
  29.     JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
  30.     JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);  
  31.     quality = Math.max( 0 , Math.min(quality,  100 ));  
  32.     param.setQuality(( float )quality /  100 .0f,  false );  
  33.     encoder.setJPEGEncodeParam(param);  
  34.     encoder.encode(thumbImage);  
  35.     out.close();  
  36.     }  

9. 创建 JSON 格式的数据
   

[java]
  1. Java代码  
  2.     请先阅读这篇文章 了解一些细节,  
  3.     并下面这个JAR 文件:json-rpc- 1.0 .jar ( 75  kb)  
  4.      import  org.json.JSONObject;  
  5.     ...  
  6.     ...  
  7.     JSONObject json =  new  JSONObject();  
  8.     json.put( "city" "Mumbai" );  
  9.     json.put( "country" "India" );  
  10.     ...  
  11.     String output = json.toString();  
  12.     ...  

10. 使用iText JAR生成PDF
  

[java]
  1. Java代码  
  2.     阅读这篇文章 了解更多细节  
  3.      import  java.io.File;  
  4.      import  java.io.FileOutputStream;  
  5.      import  java.io.OutputStream;  
  6.      import  java.util.Date;  
  7.      import  com.lowagie.text.Document;  
  8.      import  com.lowagie.text.Paragraph;  
  9.      import  com.lowagie.text.pdf.PdfWriter;  
  10.      public   class  GeneratePDF {  
  11.      public   static   void  main(String[] args) {  
  12.      try  {  
  13.     OutputStream file =  new  FileOutputStream( new  File( "C:\\Test.pdf" ));  
  14.     Document document =  new  Document();  
  15.     PdfWriter.getInstance(document, file);  
  16.     document.open();  
  17.     document.add( new  Paragraph( "Hello Kiran" ));  
  18.     document.add( new  Paragraph( new  Date().toString()));  
  19.     document.close();  
  20.     file.close();  
  21.     }  catch  (Exception e) {  
  22.     e.printStackTrace();  
  23.     }  
  24.     }  
  25.     }  

11. HTTP 代理设置
  

[java]
  1.  Java代码  
  2.     阅读这篇 文章 了解更多细节。  
  3.     System.getProperties().put( "http.proxyHost" "someProxyURL" );  
  4.     System.getProperties().put( "http.proxyPort" "someProxyPort" );  
  5.     System.getProperties().put( "http.proxyUser" "someUserName" );  
  6.     System.getProperties().put( "http.proxyPassword" "somePassword" );  

12. 单实例Singleton 示例
   

[java]
  1. Java代码  
  2.     请先阅读这篇文章 了解更多信息  
  3.      public   class  SimpleSingleton {  
  4.      private   static  SimpleSingleton singleInstance =   new  SimpleSingleton();  
  5.      //Marking default constructor private    
  6.      //to avoid direct instantiation.    
  7.      private  SimpleSingleton() {  
  8.     }  
  9.      //Get instance for class SimpleSingleton    
  10.      public   static  SimpleSingleton getInstance() {  
  11.      return  singleInstance;  
  12.     }  
  13.     }  
  14.     另一种实现  
  15.      public   enum  SimpleSingleton {  
  16.     INSTANCE;  
  17.      public   void  doSomething() {  
  18.     }  
  19.     }  
  20.      //Call the method from Singleton:    
  21.     SimpleSingleton.INSTANCE.doSomething();  

13. 抓屏程序
   

[java]
  1. Java代码  
  2.     阅读这篇文章 获得更多信息。  
  3.      import  java.awt.Dimension;  
  4.      import  java.awt.Rectangle;  
  5.      import  java.awt.Robot;  
  6.      import  java.awt.Toolkit;  
  7.      import  java.awt.image.BufferedImage;  
  8.      import  javax.imageio.ImageIO;  
  9.      import  java.io.File;  
  10.     ...  
  11.      public   void  captureScreen(String fileName)  throws  Exception {  
  12.     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  
  13.     Rectangle screenRectangle =  new  Rectangle(screenSize);  
  14.     Robot robot =  new  Robot();  
  15.     BufferedImage image = robot.createScreenCapture(screenRectangle);  
  16.     ImageIO.write(image,  "png" new  File(fileName));  
  17.     }  
  18.     ...  
  19.     阅读这篇文章 获得更多信息。  
  20.      import  java.awt.Dimension;  
  21.      import  java.awt.Rectangle;  
  22.      import  java.awt.Robot;  
  23.      import  java.awt.Toolkit;  
  24.      import  java.awt.image.BufferedImage;  
  25.      import  javax.imageio.ImageIO;  
  26.      import  java.io.File;  
  27.     ...  
  28.      public   void  captureScreen(String fileName)  throws  Exception {  
  29.     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  
  30.     Rectangle screenRectangle =  new  Rectangle(screenSize);  
  31.     Robot robot =  new  Robot();  
  32.     BufferedImage image = robot.createScreenCapture(screenRectangle);  
  33.     ImageIO.write(image,  "png" new  File(fileName));  
  34.     }  

14. 列出文件和目录
   

[java]
  1. Java代码  
  2.     File dir =  new  File( "directoryName" );  
  3.     String[] children = dir.list();  
  4.      if  (children ==  null ) {  
  5.      // Either dir does not exist or is not a directory    
  6.     }  else  {  
  7.      for  ( int  i= 0 ; i < children.length; i++) {  
  8.      // Get filename of file or directory    
  9.     String filename = children[i];  
  10.     }  
  11.     }  
  12.      // It is also possible to filter the list of returned files.    
  13.      // This example does not return any files that start with `.'.    
  14.     FilenameFilter filter =  new  FilenameFilter() {  
  15.      public   boolean  accept(File dir, String name) {  
  16.      return  !name.startsWith( "." );  
  17.     }  
  18.     };  
  19.     children = dir.list(filter);  
  20.      // The list of files can also be retrieved as File objects    
  21.     File[] files = dir.listFiles();  
  22.      // This filter only returns directories    
  23.     FileFilter fileFilter =  new  FileFilter() {  
  24.      public   boolean  accept(File file) {  
  25.      return  file.isDirectory();  
  26.     }  
  27.     };  
  28.     files = dir.listFiles(fileFilter);  

15. 创建ZIP和JAR文件
  

[java]
  1.  Java代码  
  2.      import  java.util.zip.*;  
  3.      import  java.io.*;  
  4.      public   class  ZipIt {  
  5.      public   static   void  main(String args[])  throws  IOException {  
  6.      if  (args.length <  2 ) {  
  7.     System.err.println( "usage: java ZipIt Zip.zip file1 file2 file3" );  
  8.     System.exit(- 1 );  
  9.     }  
  10.     File zipFile =  new  File(args[ 0 ]);  
  11.      if  (zipFile.exists()) {  
  12.     System.err.println( "Zip file already exists, please try another" );  
  13.     System.exit(- 2 );  
  14.     }  
  15.     FileOutputStream fos =  new  FileOutputStream(zipFile);  
  16.     ZipOutputStream zos =  new  ZipOutputStream(fos);  
  17.      int  bytesRead;  
  18.      byte [] buffer =  new   byte [ 1024 ];  
  19.     CRC32 crc =  new  CRC32();  
  20.      for  ( int  i= 1 , n=args.length; i < n; i++) {  
  21.     String name = args[i];  
  22.     File file =  new  File(name);  
  23.      if  (!file.exists()) {  
  24.     System.err.println( "Skipping: "  + name);  
  25.      continue ;  
  26.     }  
  27.     BufferedInputStream bis =  new  BufferedInputStream(  
  28.      new  FileInputStream(file));  
  29.     crc.reset();  
  30.      while  ((bytesRead = bis.read(buffer)) != - 1 ) {  
  31.     crc.update(buffer,  0 , bytesRead);  
  32.     }  
  33.   bis.close();  
  34.      // Reset to beginning of input stream    
  35.     bis =  new  BufferedInputStream(  
  36.      new  FileInputStream(file));  
  37.     ZipEntry entry =  new  ZipEntry(name);  
  38.     entry.setMethod(ZipEntry.STORED);  
  39.     entry.setCompressedSize(file.length());  
  40.     entry.setSize(file.length());  
  41.     entry.setCrc(crc.getValue());  
  42.     zos.putNextEntry(entry);  
  43.      while  ((bytesRead = bis.read(buffer)) != - 1 ) {  
  44.     zos.write(buffer,  0 , bytesRead);  
  45.     }  
  46.     bis.close();  
  47.     }  
  48.     zos.close();  
  49.     }  
  50.     }  

16. 解析/读取XML 文件
   

[java]
  1. Java代码  
  2.     XML文件  
  3.     <?xml version= "1.0" ?>  
  4.     <students>  
  5.     <student>  
  6.     <name>John</name>  
  7.     <grade>B</grade>  
  8.     <age> 12 </age>  
  9.     </student>  
  10.     <student>  
  11.     <name>Mary</name>  
  12.     <grade>A</grade>  
  13.     <age> 11 </age>  
  14.     </student>  
  15.     <student>  
  16.     <name>Simon</name>  
  17.     <grade>A</grade>  
  18.     <age> 18 </age>  
  19.     </student>  
  20.     </students>  
  21.     Java代码  
  22.      package  net.viralpatel.java.xmlparser;  
  23.      import  java.io.File;  
  24.      import  javax.xml.parsers.DocumentBuilder;  
  25.      import  javax.xml.parsers.DocumentBuilderFactory;  
  26.      import  org.w3c.dom.Document;  
  27.      import  org.w3c.dom.Element;  
  28.      import  org.w3c.dom.Node;  
  29.      import  org.w3c.dom.NodeList;  
  30.      public   class  XMLParser {  
  31.      public   void  getAllUserNames(String fileName) {  
  32.      try  {  
  33.     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
  34.     DocumentBuilder db = dbf.newDocumentBuilder();  
  35.     File file =  new  File(fileName);  
  36.      if  (file.exists()) {  
  37.     Document doc = db.parse(file);  
  38.     Element docEle = doc.getDocumentElement();  
  39.      // Print root element of the document    
  40.     System.out.println( "Root element of the document: "   
  41.     + docEle.getNodeName());  
  42.     NodeList studentList = docEle.getElementsByTagName( "student" );  
  43.      // Print total student elements in document    
  44.     System.out  
  45.     .println( "Total students: "  + studentList.getLength());  
  46.      if  (studentList !=  null  && studentList.getLength() >  0 ) {  
  47.      for  ( int  i =  0 ; i < studentList.getLength(); i++) {  
  48.     Node node = studentList.item(i);  
  49.    if  (node.getNodeType() == Node.ELEMENT_NODE) {  
  50.     System.out.println( "=====================" );  
  51.     Element e = (Element) node;  
  52.     NodeList nodeList = e.getElementsByTagName( "name" );  
  53.     System.out.println( "Name: "   
  54.     + nodeList.item( 0 ).getChildNodes().item( 0 )  
  55.     .getNodeValue());  
  56.     nodeList = e.getElementsByTagName( "grade" );  
  57.     System.out.println( "Grade: "   
  58.     + nodeList.item( 0 ).getChildNodes().item( 0 )  
  59.     .getNodeValue());  
  60.     nodeList = e.getElementsByTagName( "age" );  
  61.     System.out.println( "Age: "   
  62.     + nodeList.item( 0 ).getChildNodes().item( 0 )  
  63.     .getNodeValue());  
  64.     }  
  65.     }  
  66.     }  else  {  
  67.     System.exit( 1 );  
  68.     }  
  69.     }  
  70.     }  catch  (Exception e) {  
  71.     System.out.println(e);  
  72.     }  
  73.     }  
  74.      public   static   void  main(String[] args) {  
  75.     XMLParser parser =  new  XMLParser();  
  76.     parser.getAllUserNames( "c:\\test.xml" );  
  77.     }  
  78.     }  

17. 把 Array 转换成 Map
   

[java]
  1. Java代码  
  2.      import  java.util.Map;  
  3.      import  org.apache.commons.lang.ArrayUtils;  
  4.      public   class  Main {  
  5.      public   static   void  main(String[] args) {  
  6.     String[][] countries = { {  "United States" "New York"  }, {  "United Kingdom" "London"  },  
  7.     {  "Netherland" "Amsterdam"  }, {  "Japan" "Tokyo"  }, {  "France" "Paris"  } };  
  8.     Map countryCapitals = ArrayUtils.toMap(countries);  
  9.     System.out.println( "Capital of Japan is "  + countryCapitals.get( "Japan" ));  
  10.     System.out.println( "Capital of France is "  + countryCapitals.get( "France" ));  
  11.     }  
  12.     }  

18. 发送邮件
   

[java]
  1. Java代码  
  2.      import  javax.mail.*;  
  3.      import  javax.mail.internet.*;  
  4.      import  java.util.*;  
  5.      public   void  postMail( String recipients[ ], String subject, String message , String from)  throws  MessagingException  
  6.     {  
  7.      boolean  debug =  false ;  
  8.      //Set the host smtp address    
  9.     Properties props =  new  Properties();  
  10.     props.put( "mail.smtp.host" "smtp.example.com" );  
  11.      // create some properties and get the default Session    
  12.     Session session = Session.getDefaultInstance(props,  null );  
  13.     session.setDebug(debug);  
  14.      // create a message    
  15.     Message msg =  new  MimeMessage(session);  
  16.      // set the from and to address    
  17.     InternetAddress addressfrom =  new  InternetAddress(from);  
  18.     msg.setfrom(addressfrom);  
  19.     InternetAddress[] addressTo =  new  InternetAddress[recipients.length];  
  20.      for  ( int  i =  0 ; i < recipients.length; i++)  
  21.     {  
  22.     addressTo[i] =  new  InternetAddress(recipients[i]);  
  23.     }  
  24.     msg.setRecipients(Message.RecipientType.TO, addressTo);  
  25.      // Optional : You can also set your custom headers in the Email if you Want   
  26.     msg.addHeader( "MyHeaderName" "myHeaderValue" );  
  27.      // Setting the Subject and Content Type    
  28.     msg.setSubject(subject);  
  29.     msg.setContent(message,  "text/plain" );  
  30.     Transport.send(msg);  
  31.     }  

19. 发送代数据的HTTP 请求
   

[java]
  1. Java代码  
  2.      import  java.io.BufferedReader;  
  3.      import  java.io.InputStreamReader;  
  4.      import  java.net.URL;  
  5.      public   class  Main {  
  6.      public   static   void  main(String[] args)  {  
  7.      try  {  
  8.     URL my_url =  new  URL( "http://coolshell.cn/" );  
  9.     BufferedReader br =  new  BufferedReader( new  InputStreamReader(my_url.openStream()));  
  10.     String strTemp =  "" ;  
  11.      while ( null  != (strTemp = br.readLine())){  
  12.     System.out.println(strTemp);  
  13.     }  
  14.     }  catch  (Exception ex) {  
  15.     ex.printStackTrace();  
  16.     }  
  17.     }  
  18.     }  

20. 改变数组的大小
   

[java]
  1. Java代码  
  2.     查看源代码打印帮助  
  3.      private   static  Object resizeArray (Object oldArray,  int  newSize) {  
  4.      int  oldSize = java.lang.reflect.Array.getLength(oldArray);  
  5.     Class elementType = oldArray.getClass().getComponentType();  
  6.     Object newArray = java.lang.reflect.Array.newInstance(  
  7.     elementType,newSize);  
  8.      int  preserveLength = Math.min(oldSize,newSize);  
  9.      if  (preserveLength >  0 )  
  10.     System.arraycopy (oldArray, 0 ,newArray, 0 ,preserveLength);  
  11.      return  newArray;  
  12.     }  
  13.      // Test routine for resizeArray().    
  14.      public   static   void  main (String[] args) {  
  15.      int [] a = { 1 , 2 , 3 };  
  16.     a = ( int [])resizeArray(a, 5 );  
  17.     a[ 3 ] =  4 ;  
  18.     a[ 4 ] =  5 ;  
  19.      for  ( int  i= 0 ; i<a.length; i++)  
  20.     System.out.println (a[i]);  
  21.     }  
  22.    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值