java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.io
类 FilePermission

java.lang.Object
  继承者 java.security.Permission
      继承者 java.io.FilePermission
所有已实现的接口:
Serializable, Guard

public final class FilePermission
extends Permission
implements Serializable

此类表示对文件和目录的访问。FilePermission 由文件名和对该路径名有效的操作集合组成。

路径名是授予指定操作的文件或目录的路径名。以 "/*"(其中 "/" 是文件分隔符字符,即 File.separatorChar)结尾的路径名指示包含在该目录中的所有文件和目录。以 "/-" 结尾的路径名(递归地)指示包含在该目录中的所有文件和子目录。由特殊标记 "<<ALL FILES>>" 组成的路径名可匹配任何文件。

注:由单个 "*" 组成的路径名指示当前目录中的所有文件,而由单个 "-" 组成的路径名指示当前目录中的所有文件,并(递归地)指示包含在当前目录中的所有文件和子目录。

将所要授予的操作以字符串的形式传递给构造方法,该字符串包含由一个或多个用逗号分隔的关键字组成的列表。可能的关键字有 "read"、"write"、"execute" 和 "delete"。其含义定义如下:

read
读权限
write
写权限
execute
执行权限。允许调用 Runtime.exec。对应于 SecurityManager.checkExec
delete
删除权限。允许调用 File.delete。对应于 SecurityManager.checkDelete

处理前会将操作字符串转换为小写字母。

在授予 FilePermission 权限时要小心。在对各种文件和目录授予读访问权和(尤其是)写访问权时,一定要慎重。对写操作授予 "<<ALL FILES>>" 权限特别危险。这允许对整个文件系统进行写操作。事实上它甚至允许对系统中的二进制文件(包括 JVM 运行时环境)进行替换。

请注意:代码总是可以读取自身所在目录(或该目录的子目录)中的文件,不需要对其进行显式授权。

从以下版本开始:
1.2
另请参见:
Permission, Permissions, PermissionCollection

构造方法摘要
FilePermission(String path, String actions)
          创建具有指定操作的新 FilePermission 对象,path 是文件或目录的路径名,actions 包含对文件或目录授予的所需操作的列表,该列表由逗号分隔。
 
方法摘要
 boolean equals(Object obj)
          检查两个 FilePermission 对象是否相等。
 String getActions()
          返回操作的“规范化字符串表示形式”。
 int hashCode()
          返回此对象的哈希码值。
 boolean implies(Permission p)
          检查 FilePermission 对象是否“隐含”指定的权限。
 PermissionCollection newPermissionCollection()
          返回用于存储 FilePermission 对象的新 PermissionCollection 对象。
 
从类 java.security.Permission 继承的方法
checkGuard, getName, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

FilePermission

public FilePermission(String path,
                      String actions)
创建具有指定操作的新 FilePermission 对象,path 是文件或目录的路径名,actions 包含对文件或目录授予的所需操作的列表,该列表由逗号分隔。可能的操作是 "read"、"write"、"execute" 和 "delete"。

以 "/*"(其中 "/" 是文件分隔符,即 File.separatorChar)结尾的路径名指示一个目录和包含在该目录中的所有文件。以 "/-" 结尾的路径名指示一个目录并(递归地)指示包含在该目录中的所有文件和子目录。特殊路径名 "<<ALL FILES>>" 与所有文件都匹配。

由单个 "*" 组成的路径名指示当前目录中的所有文件,而由单个 "-" 组成的路径名指示当前目录中的所有文件,并(递归地)指示包含在当前目录中的所有文件和子目录。

参数:
path - 文件/目录的路径名。
actions - 操作字符串。
方法详细信息

implies

public boolean implies(Permission p)
检查 FilePermission 对象是否“隐含”指定的权限。

更明确地说,如果此方法满足以下条件,则返回 true:

  • p 是 FilePermission 的一个实例,

  • p 的操作是此对象的操作的一个真子集,并且

  • 此对象的路径名隐含 p 的路径名。例如,"/tmp/*" 隐含 "/tmp/foo",因为 "/tmp/*" 涵盖该目录中的 "/tmp" 目录和所有文件,包括命名为 "foo" 的文件。

指定者:
Permission 中的 implies
参数:
p - 所要检查的权限。
返回:
如果对象隐含指定的权限,则返回 true;否则返回 false。

equals

public boolean equals(Object obj)
检查两个 FilePermission 对象是否相等。检查 obj 是否是一个 FilePermission,是否与此对象具有相同的路径名和操作。

指定者:
Permission 中的 equals
参数:
obj - 要与此对象进行相等性测试的对象。
返回:
如果 obj 是一个 FilePermission,并且与此 FilePermission 对象具有相同的路径名和操作,则返回 true。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此对象的哈希码值。

指定者:
Permission 中的 hashCode
返回:
此对象的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

getActions

public String getActions()
返回操作的“规范化字符串表示形式”。也就是说,此方法总是以下列顺序返回存在的操作:read、write、execute、delete。例如,如果此 FilePermission 对象允许写和读操作,则调用 getActions 将返回字符串 "read,write"。

指定者:
Permission 中的 getActions
返回:
操作的规范化字符串表示形式。

newPermissionCollection

public PermissionCollection newPermissionCollection()
返回用于存储 FilePermission 对象的新 PermissionCollection 对象。

FilePermission 对象必须以允许将它们按任意顺序插入集合的方式来存储,但同时也允许以有效(并一致)的方式实现 PermissionCollection 的 implies 方法。

例如,如果有两个 FilePermissions:

  1. "/tmp/-", &\quot;read"
  2. "/tmp/scratch/foo", "write"

并且您正利用 FilePermission 权限调用 implies 方法:

   "/tmp/scratch/foo", "read,write", 
 
那么 implies 方法必须对 "/tmp/-" 和 "/tmp/scratch/foo" 这两种权限都进行考虑,因此有效权限是 "read,write",并且 implies 返回 true。FilePermission 的 "implies" 语义由此 newPermissionCollection 方法返回的 PermissionCollection 对象恰当地处理。

覆盖:
Permission 中的 newPermissionCollection
返回:
适合存储 FilePermissions 的新 PermissionCollection 对象。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策