| 野马的性格 Java SE 6.0新特性体验 |
|
| 来源:天极yesky 作者:朱先忠编译 加入时间:2006-12-8 访问次数:160 [大 中 小] |
|
如果uri为null,则抛出一个NullPointerException异常。如果用户的缺省浏览器没有找到或它没能启动或缺省的处理器应用程序没能启动,则抛出一个java.io.IOException异常。
②“public void edit(File file)”:启动相关联的编辑器应用程序并且打开一个文件进行编辑。 如果file为null,则抛出一个NullPointerException异常。如果指定的文件不存在,则抛出一个IllegalArgumentException异常。最后,如果指定的文件相关联的应用程序没能启动,或这个文件没有相关联的编辑器,则抛出一个IOException异常。
③“public void mail()”:启动用户缺省的电子邮件客户端的邮件编辑窗口。
如果用户缺省的电子邮件客户端没有发现或启动失败,则抛出一个IOException异常。
④“public void mail(URI mailtoURI)”:启动用户缺省的电子邮件客户端的邮件编辑窗口,填充由一个“mailto:”URI指定的消息域。这个URI能够指定包括“cc”,“subject”和“body”在内的各种消息域。
如果mailtoURI为null,则抛出一个NullPointerException异常。如果URI的模式不是mailto,则抛出一个IllegalArgumentException异常。如果用户缺省的电子邮件客户端没有发现或启动失败,则抛出一个IOException异常。
⑤“public void open(File file)”:启动相关联的应用程序以打开该文件。如果指定的文件是一个目录,则启动OS的文件管理器以打开它。
如果file为 null,则抛出一个NullPointerException异常。如果指定的文件不存在,则抛出一个IllegalArgumentException异常。最后,如果该指定的文件没有相关联的应用程序,或如果这个应用程序没能启动,则抛出一个IOException异常。
⑥“public void print(File file)”:使用相关联的应用程序的打印命令并使用本地桌面打印设备打印一个文件。
如果file为null,则抛出一个NullPointerException异常。如果指定的文件不存在,则抛出一个IllegalArgumentException异常。如果指定的文件没有相关联的能够用于打印其内容的应用程序,则抛出一个IOException异常。
【注意】如果一个安全管理器存在并且不允许执行要求的行为的话,上面列出的每一个方法都会抛出一个SecurityException异常。
为此,我创建了一个展示桌面API用法的DesktopDemo应用程序。这个应用程序创建了一个包含一系列浏览,邮件,打开,编辑,和打印等单选按钮的GUI界面;还有一个文本域用于输入一个URI或文件名。在输入一个URI或文件名之后,点击适当的按钮便可以从桌面上启动一个应用程序。本文示例源码中的列表2展示了这个文件DesktopDemo.java(略)。
在编译和运行DesktopDemo后,在文本域输入一个文件名并点击Open,Edit或Print中的一个按钮以启动该文件相应的应用程序。或输入一个URI并点击“Browse”或“Mail”。图1展示了我已经在文本域中输入了一个邮件URI的屏幕快照。
 图1.在此,当输入一个邮件URI时,我没有指定“mailto:”前缀,因为我的电子邮件客户端把这个前缀自动地加入到邮件编辑窗口中的接收者的电子邮件地址的前面。 | 这个邮件URI仅包含接收者的电子邮件地址和一个主题。当然,我也可以包括正文文本,这可以通过添加“&BODY=”,其后面再跟着一些文本的方法实现。在点击“Mail”单选按钮后,我的电子邮件客户端的邮件编辑窗口中将在正确位置显示接收者的电子邮件地址和主题,如图2所示。
 图2.这里所提供的邮件URI还能够指定除主要接收者的电子邮件地址外的其它邮件地址。 |
四、 以编程方式存取网络参数
Mustang提供了以编程方式存取网络参数的方法—这是通过在java.net.NetworkInterface类和新的java.net.InterfaceAddress类中提供的10个新的方法实现的。这些新引入的网络接口方法列举如下:
|
|
|
|
|
|