`
顽石OK07
  • 浏览: 81422 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

20个非常有用的Java程序片段 Part2

阅读更多

原文网址是:http://haofeng0305.iteye.com/blog/752236

 

10. 使用iText JAR生成PDF

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

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

13. 抓屏程序
Java代码 复制代码
  1. 阅读这篇文章 获得更多信息。   
  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. ...     
  12.      
  13. public void captureScreen(String fileName) throws Exception {     
  14.      
  15.    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();     
  16.    Rectangle screenRectangle = new Rectangle(screenSize);     
  17.    Robot robot = new Robot();     
  18.    BufferedImage image = robot.createScreenCapture(screenRectangle);     
  19.    ImageIO.write(image, "png"new File(fileName));     
  20.      
  21. }     
  22. ...    
  23.     
  24.   
  25.    


14. 列出文件和目录

Java代码 复制代码
  1. File dir = new File("directoryName");     
  2.   String[] children = dir.list();     
  3.   if (children == null) {     
  4.       // Either dir does not exist or is not a directory     
  5.   } else {     
  6.       for (int i=0; i < children.length; i++) {     
  7.           // Get filename of file or directory     
  8.           String filename = children[i];     
  9.       }     
  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.      
  21.   // The list of files can also be retrieved as File objects     
  22.   File[] files = dir.listFiles();     
  23.      
  24.   // This filter only returns directories     
  25.   FileFilter fileFilter = new FileFilter() {     
  26.       public boolean accept(File file) {     
  27.           return file.isDirectory();     
  28.       }     
  29.   };     
  30.   files = dir.listFiles(fileFilter);   

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

16. 解析/读取XML 文件
Java代码 复制代码
  1. XML文件   
  2.     
  3.   
  4. <?xml version="1.0"?>    
  5. <students>    
  6.     <student>    
  7.         <name>John</name>    
  8.         <grade>B</grade>    
  9.         <age>12</age>    
  10.     </student>    
  11.     <student>    
  12.         <name>Mary</name>    
  13.         <grade>A</grade>    
  14.         <age>11</age>    
  15.     </student>    
  16.     <student>    
  17.         <name>Simon</name>    
  18.         <grade>A</grade>    
  19.         <age>18</age>    
  20.     </student>    
  21. </students>    
  22. Java代码   
  23.   
  24.      
  25. package net.viralpatel.java.xmlparser;     
  26.      
  27. import java.io.File;     
  28. import javax.xml.parsers.DocumentBuilder;     
  29. import javax.xml.parsers.DocumentBuilderFactory;     
  30.      
  31. import org.w3c.dom.Document;     
  32. import org.w3c.dom.Element;     
  33. import org.w3c.dom.Node;     
  34. import org.w3c.dom.NodeList;     
  35.      
  36. public class XMLParser {     
  37.      
  38.     public void getAllUserNames(String fileName) {     
  39.         try {     
  40.             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();     
  41.             DocumentBuilder db = dbf.newDocumentBuilder();     
  42.             File file = new File(fileName);     
  43.             if (file.exists()) {     
  44.           

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics