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.image.BufferedImage;
import
javax.imageio.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 image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image,
"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();
}
}
|