11. HTTP 代理设置
阅读这篇 了解更多细节。
1 2 3 4 5 | System.getProperties().put( "http.proxyHost" , "someProxyURL" ); System.getProperties().put( "http.proxyPort" , "someProxyPort" ); System.getProperties().put( "http.proxyUser" , "someUserName" ); System.getProperties().put( "http.proxyPassword" , "somePassword" ); |
12. 单实例Singleton 示例
请先阅读这篇 了解更多信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class SimpleSingleton { private static SimpleSingleton singleInstance = new SimpleSingleton(); //Marking default constructor private //to avoid direct instantiation. private SimpleSingleton() { } //Get instance for class SimpleSingleton public static SimpleSingleton getInstance() { return singleInstance; } } |
另一种实现
1 2 3 4 5 6 7 8 | public enum SimpleSingleton { INSTANCE; public void doSomething() { } } //Call the method from Singleton: SimpleSingleton.INSTANCE.doSomething(); |
13. 抓屏程序
阅读这篇 获得更多信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.p_w_picpath.BufferedImage; import javax.p_w_picpathio.ImageIO; import java.io.File; ... public void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage p_w_picpath = robot.createScreenCapture(screenRectangle); ImageIO.write(p_w_picpath, "png" , new File(fileName)); } ... |
14. 列出文件和目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | File dir = new File( "directoryName" ); String[] children = dir.list(); if (children == null ) { // Either dir does not exist or is not a directory } else { for ( int i= 0 ; i < children.length; i++) { // Get filename of file or directory String filename = children[i]; } } // It is also possible to filter the list of returned files. // This example does not return any files that start with `.'. FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String name) { return !name.startsWith( "." ); } }; children = dir.list(filter); // The list of files can also be retrieved as File objects File[] files = dir.listFiles(); // This filter only returns directories FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { return file.isDirectory(); } }; files = dir.listFiles(fileFilter); |
15. 创建ZIP和JAR文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | import java.util.zip.*; import java.io.*; public class ZipIt { public static void main(String args[]) throws IOException { if (args.length < 2 ) { System.err.println( "usage: java ZipIt Zip.zip file1 file2 file3" ); System.exit(- 1 ); } File zipFile = new File(args[ 0 ]); if (zipFile.exists()) { System.err.println( "Zip file already exists, please try another" ); System.exit(- 2 ); } FileOutputStream fos = new FileOutputStream(zipFile); ZipOutputStream zos = new ZipOutputStream(fos); int bytesRead; byte [] buffer = new byte [ 1024 ]; CRC32 crc = new CRC32(); for ( int i= 1 , n=args.length; i < n; i++) { String name = args[i]; File file = new File(name); if (!file.exists()) { System.err.println( "Skipping: " + name); continue ; } BufferedInputStream bis = new BufferedInputStream( new FileInputStream(file)); crc.reset(); while ((bytesRead = bis.read(buffer)) != - 1 ) { crc.update(buffer, 0 , bytesRead); } bis.close(); // Reset to beginning of input stream bis = new BufferedInputStream( new FileInputStream(file)); ZipEntry entry = new ZipEntry(name); entry.setMethod(ZipEntry.STORED); entry.setCompressedSize(file.length()); entry.setSize(file.length()); entry.setCrc(crc.getValue()); zos.putNextEntry(entry); while ((bytesRead = bis.read(buffer)) != - 1 ) { zos.write(buffer, 0 , bytesRead); } bis.close(); } zos.close(); } } |