前一段時間從網絡上下載了 Java.6.Platform.Revealed.Jul.2006.這本書, 現在JDK 6已經發布了, 就來看看里面都有什么新東西吧 . 今天就開始談談JDK6中的東東, 看看有那些東西可以讓我們激動一下. 先來看看這個位于java.awt 包中的Desktoop類吧. 看名字就可以猜到是干什么的.
Desktop中有一些Action來支持對文件或者URI的BROWSE, EDIT, MAIL, OPEN, and PRINT操作. 記得以前為了使用java調用瀏覽器打開個URL要寫很多代碼. 現在有了這個Desktop一切就容易多了. 看看他的文檔 http://download.java.net/jdk6/docs/api/java/awt/Desktop.html , 就那么幾個方法, 不多,但是都很常用. 不是嗎, 下面來看一個例子:
import java.awt.*;
import java.io.*;
import java.net.*;
public class DesktopTest {
public static void main(String args[]) {
if (!Desktop.isDesktopSupported()) {
System.err.println("Desktop not supported!");
System.exit(-1);
}
Desktop desktop = Desktop.getDesktop();
String path;
if (args.length == 0) {
path = ".";
} else {
path = args[0];
}
try {
File fi = new File("test.txt");
desktop.print(fi);
desktop.browse(new URI("http://blog.matrix.org.cn/icess"));
} catch (Exception ioe) {
System.out.println(ioe);
}
File dir = new File(path);
File files[] = dir.listFiles();
for (File file: files) {
System.out.println("Open " + file.getName() + "? [YES/NO] :");
if (desktop.isSupported(Desktop.Action.OPEN)) {
String line = System.console().readLine();
if ("YES".equals(line)) {
System.out.println("Opening... " + file.getName());
try {
desktop.open(file);
} catch (IOException ioe) {
System.out.println(ioe);
System.err.println("Unable to open: " + file.getName());
}
}
}
}
}
}