20个非常有用的Java程序片段(二)

11. HTTP 代理设置

阅读这篇文章了解更多细节。

1.System.getProperties().put("http.proxyHost""someProxyURL");   
2.System.getProperties().put("http.proxyPort""someProxyPort");   
3.System.getProperties().put("http.proxyUser""someUserName");   
4.System.getProperties().put("http.proxyPassword""somePassword"); 

2. 单实例Singleton示例

请先阅读这篇文章了解更多信息

1.publicclass SimpleSingleton {   
2.privatestatic SimpleSingleton singleInstance =  new SimpleSingleton();   
3.
4.//Marking default constructor private  
5.//to avoid direct instantiation.  
6.private SimpleSingleton() {   
7.    }   
8.
9.//Get instance for class SimpleSingleton  
10.publicstatic SimpleSingleton getInstance() {   
11.
12.return singleInstance;   
13.    }   
14.}  

另一种实现

1.publicenum SimpleSingleton {   
2.    INSTANCE;   
3.publicvoid doSomething() {   
4.    }   
5.}   
6.
7.//Call the method from Singleton:  
8.SimpleSingleton.INSTANCE.doSomething();  

13. 抓屏程序

阅读这篇文章获得更多信息。

1.import java.awt.Dimension;   
2.import java.awt.Rectangle;   
3.import java.awt.Robot;   
4.import java.awt.Toolkit;   
5.import java.awt.image.BufferedImage;   
6.import javax.imageio.ImageIO;   
7.import java.io.File;   
8.
9....   
10.
11.publicvoid captureScreen(String fileName) throws Exception {   
12.
13.   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   
14.   Rectangle screenRectangle = new Rectangle(screenSize);   
15.   Robot robot = new Robot();   
16.   BufferedImage image = robot.createScreenCapture(screenRectangle);   
17.   ImageIO.write(image, "png"new File(fileName));   
18.
19.}   
20....  

14. 列出文件和目录

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.publicboolean 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.publicboolean accept(File file) {   
27.return file.isDirectory();   
28.      }   
29.  };   
30.  files = dir.listFiles(fileFilter);  

15. 创建ZIP和JAR文件

1.import java.util.zip.*;   
2.import java.io.*;   
3.
4.publicclass ZipIt {   
5.publicstaticvoid 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 = newbyte[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 文件

XML文件

1.<?xmlversion="1.0"?>
2.<students>
3.<student>
4.<name>John</name>
5.<grade>B</grade>
6.<age>12</age>
7.</student>
8.<student>
9.<name>Mary</name>
10.<grade>A</grade>
11.<age>11</age>
12.</student>
13.<student>
14.<name>Simon</name>
15.<grade>A</grade>
16.<age>18</age>
17.</student>
18.</students>

Java代码:

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

 

你可能感兴趣的:(java,文章,程序,default,信息)