注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > Java 内容正文:实例分析Java SE 6.0新增功能

实例分析Java SE 6.0新增功能

发布时间:2006-05-23 20:09:27 来源:天极开发 网友评论 0 条
  下载本文源代码

  Java 6.0标准版(Mustang)包含了大量使Java开发更为容易的特性。在本文中,我们将讨论通过部分新特性来帮助你实现如下功能:

  · 设置文件和目录许可权

  · 获取分区上自由空间和可用空间数

  · 把Component对象添加到JTabbedPane的选项卡上

  · 在你的Java基础类/Swing(JFC/Swing)应用程序中使用流行的SwingWorker类

  因此,如果JSR 270专家组同意采纳这些特征,那么在Mustang的下一个发行版本中你就会看到这些特征。

  注意:为了运行本文中的源码,你必须下载并安装Mustang的最新版本。

  一、 设置文件和目录权限

  现在,从Mustang build 31开始,你可以在本地文件系统中设置一个文件的可读、可写和可执行标志。这项功能已经被添加到java.io.File类中,并通过使用下列方法来实现:

public boolean setReadable(boolean readable, boolean ownerOnly)
public boolean setReadable(boolean readable)
public boolean setWritable(boolean writable, boolean ownerOnly)
public boolean setWritable(boolean writable)
public boolean setExecutable(boolean executable, boolean ownerOnly)
public boolean setExecutable(boolean executable)

  如果你曾某种UNIX系统上工作过,那么你应该对这些方法非常熟悉-其实它们实现了chmod命令的一些功能。这些方法试图设置由现在的File对象所描述的文件或目录的适当权限。如果把第二个可选参数设置为true,那么该权限将仅应用于当前所有者标志。否则,这些方法将应用到所有用户。注意,如果底层文件系统没法区分该所有者和其他所有者的权限(在一些版本的Windows中就是这样),那么这一权限将应用到每一个人,而不管传递的是什么值。

  如果你是一个使用NT文件系统的Windows用户,那么你应该读一下这个文档,它解释了如何使用各种不同的选项来控制不同用户的文件存取权限问题。

  如你所想,如果用户没有权限来改变这个抽象路径名的存取权限,那么第一个方法就会失败(也就是说,返回false);而且,这些方法也会抛出一个java.lang.SecurityException异常-如果存在一个Java安全管理器并且它的checkRead()/checkWrite()/checkExecute()方法不允许存取该文件的话。

  下表1显示了在多种文件系统上运行这些命令的典型结果,以及这些命令在不同目标操作系统上的可用性。

  表1.在常用OS文件系统上的java.io.File权限操作

命令在Windows XP系统上的返回值在Linux系统上的返回值在solaris系统上的返回值
setReadable(true)true True(等价于chmod+r)True(等价于chmod+r)
setReadable(false)False(在Windows中文件可读性不能被设置为False)True(等价于chmod-r)True(等价于chmod-r)
setWritable(true)True(切换Windows的只读文件属性)True(等价于chmod+w)True(等价于chmod+w)
setWritable(false) true(切换Windows的只读文件属性)True(等价于chmod-w)True(等价于chmod-w)
setExecutable(true)trueTrue(等价于chmod+x)True(等价于chmod+x)
setExecutable(false)false(在Windows中文件可执行属性不能被设置为False)True(等价于chmod-x)True(等价于chmod-x)

  决定是否文件是可读,可写或可执行的方法与这个平台的前一个版本-Java 2平台,标准版(J2SE)5.0-保持一致。

public boolean canRead();
public boolean canWrite();
public boolean canExecute();

  二、 取得硬盘分配空间

  除了允许你设置文件和目录权限外,Mustang还为你提供了三个新方法来决定当前磁盘分区中的可用空间数,这是由一个java.io.File对象来描述的:

public long getTotalSpace();
public long getFreeSpace();
public long getUsableSpace();

  每一个这些方法返回要求的由java.io.File所描述的分区的字节大小,否则,如果从File对象中无法取得一个分区则返回值为0L。

  借助于getFreeSpace()和getUsableSpace()方法,未分配字节的返回数是(根据有关文档):"这仅是一种提示而不是保证-有可能使用大多数或所有这些字节;但紧跟这个调用之后的未分配的字节数很可能是准确的,当然也有可能因某些外部I/O操作(包括在该虚拟机外面所作的系统调用)而导致不准确。"

  那么,在这个两个方法之间有什么区别呢?getFreeSpace()方法返回分区的自由空间数量的一个即时数。而getUsableSpace()方法还包含了另外一些功能来检查写许可和其它操作系统限制,这将返回一个可用空间数的更好的估计值。如果你想决定在写向一个文件之前是否你有足够的磁盘空间,那么,典型情况下getUsableSpace()将给你一个更精确的估计值。注意,如果安装了一个安全管理器并且它不允许对于RuntimePermission("getFileSystemAttributes")进行调用,那么这两个方法都将抛出一个SecurityException异常。

 1/2    1 2 ›› ›|
相关文章
【评论】【收藏本文】【打印】【关闭】
上一篇文章:java入门与加深(下)
下一篇文章:Java Mobile能否引领移动OS的未来?
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Java控件设计入门
Java控件设计入门
推荐阅讯
  • Sun新掌门称Java将开放源码 未公布时间表
  • 新一代Java技术即将出现
  • Java技巧:在清单里设置主类
  • Java FTP客户端库的选择
  • Java开发环境的过去、现在和将来
  • James Gosling预言Java:手机将一统桌面
  • Java咖啡馆(3)——Eclipse
  • 为Java应用程序添加退出事件响应
  • 可扩展的Java应用程序开发模式
  • 如何使用Java编写多线程程序
阅读排行
  • 1.Java连接SQL Server 2000
  • 2.Java文件操作详解
  • 3.Java控件设计入门
  • 4.Java操作Excel电子表格
  • 5.Java: JNI完全手册
  • 6.Java命令行简介
  • 7.开发J2EE应用应遵循的几点原则
  • 8.Servlet与Javabean配置
  • 9.Java规则引擎与其API应用详解
  • 10.CLASSPATH详解
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载