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();
} } |