public class File extends Object implements Serializable, Comparable<File>
用户界面和操作系统使用系统独立的路径字符串的文件和目录的名称。这类提供了一个抽象的,分层的路径系统独立的观点。一个抽象的路径有两个组成部分:
"/"
为UNIX的根目录,或"\\\\"
为微软Windows UNC路径名,以及从抽象路径名或路径名的字符串的转换本质上是依赖于系统。当抽象路径名转换为路径名的字符串,每个名字的默认分隔符的单拷贝从下分离。默认名称分隔符是由系统性file.separator
定义,并在这类的公共静态字段
和separator
提供。当一个路径名的字符串转换成一个抽象路径名,在它的名称可能是默认名称分隔符或任何其他名称分隔符是由底层系统支持分离。separatorChar
一个路径,无论是抽象或字符串格式,可以是绝对或相对。一个绝对路径名是完整的,不需要其他信息来定位,它指的是文件。相反,相对路径,必须从其他的路径信息来解释。默认情况下,类中的java.io
包总是解决对当前用户目录的相对路径名。这个目录是由系统性user.dir
命名,是典型的目录中,java虚拟机调用。
抽象路径名的父母可以通过调用该类的getParent()
方法得到由路径名的前缀,每个名字在路径名的名字序列除了最后。每个目录的绝对路径名是以绝对的抽象路径名从目录的绝对路径名File对象的任何一个祖先。例如,目录用抽象路径名"/usr"是目录的路径名"/usr/local/bin"表示祖先。
前缀的概念用于UNIX平台上处理根目录和驱动器说明符,根目录和UNC路径名在微软Windows平台,如下:
"/"
。相对路径名没有前缀。抽象路径名表示根目录有前缀"/"
和空名序列。":"
可能随后"\\"
如果路径名是绝对的前缀。一个UNC路径名的前缀是"\\\\"
;主机名和共享名是名称序列的第一个两个名字。相对路径,不指定驱动器没有前缀。这个类的实例可能或可能不表示一个实际的文件系统对象,如文件或目录。如果真的是这样的一个对象,那么对象驻留在一个分区。分区是一个文件系统的存储的操作系统的特定部分。一个单一的存储设备(例如,物理磁盘驱动器,闪存,光盘)可能包含多个分区。对象,如果有的话,将驻留在分区named一些祖先这一路径的绝对形式。
一个文件系统可以对实际的文件系统对象上的某些操作实施限制,如读、写和执行。这些限制是统称为访问权限。该文件系统可以具有一个单一对象上的多组访问权限。例如,一组可以向对象的主人,和另一个可以适用于所有其他用户。在一个对象上的访问权限可能会导致该类中的一些方法失败。
该File
类的实例是不可变的;那就是,一旦创建,由File
对象表示的抽象路径名永远不会改变。
java.nio.file
包的互操作性java.nio.file
包定义的接口和类的java虚拟机访问文件,文件属性,文件系统。这个API可以用来克服许多的java.io.File
阶级局限性。的toPath
方法可以用来获得一个Path
使用抽象的路径由一个File
对象来定位一个文件代表。由此产生的Path
可以用Files
类提供更有效、更广泛的访问其他的文件操作,文件属性,和I/O异常来帮助诊断错误时,对文件的操作失败。
Modifier and Type | Field and Description |
---|---|
static String |
pathSeparator
系统依赖路径分隔符的字符,表示为方便的字符串。
|
static char |
pathSeparatorChar
系统依赖路径分隔符字符。
|
static String |
separator
系统依赖的默认名称分隔符字符,表示为方便的字符串。
|
static char |
separatorChar
系统依赖的默认名称分隔符字符。
|
Constructor and Description |
---|
File(File parent, String child)
创建从一个家长的抽象路径名和一个孩子的路径字符串的新
File 实例。
|
File(String pathname)
通过将给定的路径名的字符串转换成一个抽象路径名创建一个新的
File 实例。
|
File(String parent, String child)
创建从父路径名的字符串和一个孩子的一个新的
File 实例文件。
|
File(URI uri)
通过将给定的
file: URI到一个抽象路径名创建一个新的
File实例。
|
Modifier and Type | Method and Description |
---|---|
boolean |
canExecute()
测试应用程序是否可执行文件的路径名表示的抽象。
|
boolean |
canRead()
检查应用程序是否可以读取文件的抽象路径名记。
|
boolean |
canWrite()
检查应用程序是否可以修改文件的抽象路径名记。
|
int |
compareTo(File pathname)
比较两个抽象路径名的字典。
|
boolean |
createNewFile()
自动创建一个新的空文件命名的抽象路径名的当且仅当该文件不存在。
|
static File |
createTempFile(String prefix, String suffix)
在默认的临时文件目录中创建一个空文件,使用给定的前缀和后缀来生成它的名称。
|
static File |
createTempFile(String prefix, String suffix, File directory)
在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串来生成它的名称。
|
boolean |
delete()
删除文件或目录的路径名表示的抽象。
|
void |
deleteOnExit()
请求的文件或者目录的抽象路径名记被删除时,虚拟机终止。
|
boolean |
equals(Object obj)
测试这个抽象路径名与给定对象的平等。
|
boolean |
exists()
检查文件或目录是否存在这种抽象路径名记。
|
File |
getAbsoluteFile()
返回此抽象路径名的绝对形式。
|
String |
getAbsolutePath()
返回此抽象路径名的绝对路径名的字符串。
|
File |
getCanonicalFile()
返回此抽象路径名的规范形式。
|
String |
getCanonicalPath()
返回此抽象路径名的规范文件。
|
long |
getFreeSpace()
通过这种抽象路径名返回分区中的
named未分配的字节数。
|
String |
getName()
返回的名称的文件或目录的路径名表示的抽象。
|
String |
getParent()
返回此抽象路径名的父路径名的字符串,或
null 如果路径名不叫父目录。
|
File |
getParentFile()
返回此抽象路径名的母抽象路径名,路径名或
null 如果这不叫父目录。
|
String |
getPath()
转换这个抽象路径名为路径名的字符串。
|
long |
getTotalSpace()
通过这种抽象路径名返回分区
named大小。
|
long |
getUsableSpace()
通过这种抽象路径名
named返回分区上的可用虚拟机的字节数。
|
int |
hashCode()
计算哈希代码的抽象路径名。
|
boolean |
isAbsolute()
测试是否这个抽象路径名是绝对的。
|
boolean |
isDirectory()
测试文件是否通过这种抽象路径名表示是一个目录。
|
boolean |
isFile()
测试文件是否通过这种抽象路径名表示的是一种正常的文件。
|
boolean |
isHidden()
测试文件是否通过这种抽象路径名的命名是隐藏文件。
|
long |
lastModified()
返回文件的抽象路径名表示上次修改时间。
|
long |
length()
返回文件的抽象路径名表示的长度。
|
String[] |
list()
返回的字符串在该目录下的抽象路径名的文件和目录命名为数组。
|
String[] |
list(FilenameFilter filter)
返回的字符串在该目录下的抽象路径名,满足指定的过滤器表示文件和目录命名数组。
|
File[] |
listFiles()
返回表示抽象路径名的目录中的文件的路径名表示抽象的数组。
|
File[] |
listFiles(FileFilter filter)
返回表示的抽象路径名的文件和目录的目录,这个抽象路径名满足指定过滤器表示数组。
|
File[] |
listFiles(FilenameFilter filter)
返回表示的抽象路径名的文件和目录的目录,这个抽象路径名满足指定过滤器表示数组。
|
static File[] |
listRoots()
列出可用的文件系统根。
|
boolean |
mkdir()
创建该目录下的抽象路径名命名。
|
boolean |
mkdirs()
创建该目录下的抽象路径名命名,包括任何必要的但不存在父目录。
|
boolean |
renameTo(File dest)
重命名文件的抽象路径名记。
|
boolean |
setExecutable(boolean executable)
一套业主的这种抽象路径名执行权限的便利方法。
|
boolean |
setExecutable(boolean executable, boolean ownerOnly)
集所有者或大家的这种抽象路径名的执行权限。
|
boolean |
setLastModified(long time)
设置文件或目录的抽象路径名命名的最后修改时间。
|
boolean |
setReadable(boolean readable)
一个为这个抽象路径名集所有者的读权限的便利方法。
|
boolean |
setReadable(boolean readable, boolean ownerOnly)
集所有者或大家的这种抽象路径名的读取权限。
|
boolean |
setReadOnly()
标记文件或通过这种抽象路径名命名的目录,只有读操作是允许的。
|
boolean |
setWritable(boolean writable)
一个方便的方法来设置业主写出这一抽象路径名的权限。
|
boolean |
setWritable(boolean writable, boolean ownerOnly)
集的所有者或大家写出这一抽象路径名的权限。
|
Path |
toPath()
返回一个
java.nio.file.Path 对象由抽象路径。
|
String |
toString()
返回此抽象路径名的文件。
|
URI |
toURI()
构建了一个
file: URI表示此抽象路径名。
|
URL |
toURL()
|
public static final char separatorChar
file.separator
值的第一个字符。UNIX系统上,这个字段的值是
'/'
;微软Windows系统是
'\\'
。
public static final String separator
separatorChar
。
public static final char pathSeparatorChar
path.separator
值的第一个字符,该字符用于分隔在一个序列作为一个给定的路径列表文件的文件名。在UNIX系统中,这个角色是
':'
;微软Windows系统是
';'
。
public static final String pathSeparator
pathSeparatorChar
。
public File(String pathname)
File
实例。如果给定的字符串为空字符串,则结果是空洞的抽象路径名。
pathname
-路径名的字符串
NullPointerException
-如果
pathname
论点是
null
public File(String parent, String child)
File
实例文件。
如果parent
是null
那么新File
实例通过调用单个参数File
构造函数在给定的child
路径字符串创建如。
否则parent
路径字符串来表示一个目录,和child
路径字符串来表示一个目录或文件。如果child
路径名的字符串是绝对的将其转化为一个系统的依赖性相对路径。如果parent
然后空字符串的新File
实例转换成一个抽象路径名child
和解决与系统相关的结果创建的默认目录。否则每个路径名的字符串转换成一个抽象路径名和孩子的抽象路径名是解决对母。
parent
-父路径名的字符串
child
-孩子的路径字符串
null
child
NullPointerException
public File(File parent, String child)
File
实例。
如果parent
是null
那么新File
实例通过调用单个参数File
构造函数在给定的child
路径字符串创建如。
否则parent
抽象路径名来表示一个目录,和child
路径字符串来表示一个目录或文件。如果child
路径名的字符串是绝对的将其转化为一个系统的依赖性相对路径。如果parent
是空洞的抽象路径名的新File
实例转换成一个抽象路径名child
和解决与系统相关的结果创建的默认目录。否则每个路径名的字符串转换成一个抽象路径名和孩子的抽象路径名是解决对母。
parent
-母的抽象路径名
child
-孩子的路径字符串
null
child
NullPointerException
public File(URI uri)
一个file: URI的确切形式是系统相关的,因此转换由此构造函数也依赖于系统。
对于一个给定的抽象路径名的F,这是保证
new File( f .只要原来的抽象路径名,URI,和新的抽象路径名是所有创造的(可能不同的调用)相同的java虚拟机。这种关系通常不成立,但是,当一个 file: URI中创建一个虚拟机在一个操作系统转换成一个不同的操作系统在虚拟机抽象路径名。toURI
()).equals( f .getAbsoluteFile
())
uri
-绝对的,与一个方案等于
"file"分层URI,一个非空的路径组件,并定义的权限,查询,和片段组成
NullPointerException
IllegalArgumentException
-如果在参数的前提条件不成立
toURI()
,
URI
public String getName()
public String getParent()
null
如果路径名不叫父目录。
抽象路径名家长组成的路径名的前缀,如果有的话,每个名字在路径名的名字序列除了最后。如果序列为空,则路径名字不叫父目录。
null
如果路径名不叫父母
public File getParentFile()
null
如果这不叫父目录。
抽象路径名家长组成的路径名的前缀,如果有的话,每个名字在路径名的名字序列除了最后。如果序列为空,则路径名字不叫父目录。
null
如果这不叫父母
public String getPath()
default name-separator character
分离序列的名字命名。
public boolean isAbsolute()
"/"
。在微软的Windows系统,如果它的前缀是驱动器说明符之后
"\\"
路径名是绝对的,或如果它是
"\\\\"
前缀。
true
抽象路径名是绝对的,
false
否则
public String getAbsolutePath()
如果这个抽象路径名已经是绝对的,那么路径字符串只是返回如果由
方法。如果这个抽象路径名是空洞的抽象路径名则当前用户目录的路径名的字符串,它是由系统性getPath()
user.dir
命名,返回。否则,这个路径是系统相关的方法解决。在UNIX系统中,相对路径是通过对当前用户目录的绝对。在微软的Windows系统,相对路径是绝对的解决它与驱动器的路径为当前目录,如果任何;如果不是,它是解决当前用户目录。
SecurityException
-如果需要的系统属性值不能被访问。
isAbsolute()
public File getAbsoluteFile()
new File(this.getAbsolutePath()
)
。
SecurityException
-如果需要的系统属性值不能被访问。
public String getCanonicalPath() throws IOException
一个典型的路径是绝对的,独特的。规范形式的精确定义是系统依赖。该方法首先将这一路径的绝对形式,如果有必要,如果通过调用getAbsolutePath()
方法,然后把它映射到其独特的形式在系统相关的方法。这通常需要去除多余的名字如从路径"."和"..",解析符号链接(在UNIX平台),并将驱动器字母一个标准的情况下(在微软Windows平台)。
每一个路径,表示一个文件或目录都有一个独特的典型形式。每一个路径名,代表一个不存在的文件或目录也具有独特的典型形式。对一个不存在的文件或目录的路径名的规范形式可以在创建文件或目录的不同于相同的路径名的规范形式。同样的,对一个现有的文件或目录的路径名的规范形式可以在文件或目录删除不同于相同的路径名的规范形式。
IOException
-如果一个I/O错误发生,这可能是因为正则路径的建设需要文件系统查询
SecurityException
-如果需要的系统属性值不能被访问,或者如果存在一个安全管理及其
SecurityManager.checkRead(java.io.FileDescriptor)
法否认对文件的读访问
Path.toRealPath(java.nio.file.LinkOption...)
public File getCanonicalFile() throws IOException
new File(this.getCanonicalPath()
)
。
IOException
-如果一个I/O错误发生,这可能是因为正则路径的建设需要文件系统查询
SecurityException
-如果需要的系统属性值不能被访问,或者如果存在一个安全管理及其
SecurityManager.checkRead(java.io.FileDescriptor)
法否认对文件的读访问
Path.toRealPath(java.nio.file.LinkOption...)
@Deprecated public URL toURL() throws MalformedURLException
file:
URL。该网址的确切形式是系统依赖性。如果可以确定文件的抽象路径名表示是一个目录,然后生成的URL结尾斜线。
MalformedURLException
如果路径不能被解析为一个URL
toURI()
,
URI
,
URI.toURL()
,
URL
public URI toURI()
URI的确切形式是依赖于系统。如果可以确定文件的抽象路径名表示是一个目录,然后得到的URI将用斜线结束。
对于一个给定的抽象路径名的F,这是保证
new只要原来的抽象路径名,URI,和新的抽象路径名是所有创造的(可能不同的调用)相同的java虚拟机。由于抽象路径名,依赖于系统的性质,然而,这种关系通常不成立时,一个 file: URI中创建一个虚拟机在一个操作系统转换成一个不同的操作系统在虚拟机抽象路径名。File
( f .toURI()).equals( f .getAbsoluteFile
())
注意,当这种抽象路径名代表UNC路径名然后UNC的所有部件(包括服务器名称部分)在URI
路径编码。权威的成分是不确定的,这意味着它是null
。的Path
类定义在产生的URI
权威组件服务器名称编码toUri
方法,toPath
方法可以用来获得一个Path
表示此抽象路径名。
SecurityException
-如果需要的系统属性值不能被访问。
File(java.net.URI)
,
URI
,
URI.toURL()
public boolean canRead()
true
即使文件没有读取权限。
true
只有通过这种抽象路径名指定的文件存在,可以由应用程序读取;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public boolean canWrite()
true
即使文件是只读的。
true
当且仅当文件系统实际上包含一个文件的路径名表示的抽象和允许应用程序写入文件;
false
否则。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean exists()
true
当且仅当文件或目录用这种抽象的路径存在;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
方法拒绝访问文件或目录的读
public boolean isDirectory()
需要区分一个I/O异常的情况下,该文件不是一个目录,或在同一个文件的多个属性都在同一时间,然后Files.readAttributes
方法可用于。
true
当且仅当文件的抽象路径名表示存在并且是一个目录;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public boolean isFile()
需要区分一个I/O异常的情况下,该文件是不是一个正常的文件,或者同一个文件的多个属性都在同一时间,然后Files.readAttributes
方法可用于。
true
当且仅当文件的抽象路径名表示存在,是一种正常的文件;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public boolean isHidden()
'.'
)。在微软的窗口系统中,一个文件被认为是隐藏的,如果它被标记为这样的文件系统。
true
当且仅当文件的抽象路径名表示隐藏根据底层平台的规范
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public long lastModified()
需要区分一个I/O异常的情况下,0L
返回,或在同一个文件的多个属性都在同一时间,或在最后一次访问或创建时间是必要的,那么Files.readAttributes
方法可用于。
long
值,以毫秒为单位测量由于时代(00:00:00 GMT,1970年1月1日),或
0L
如果文件不存在或者I/O错误发生
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public long length()
需要区分一个I/O异常的情况下,0L
返回,或在同一个文件的多个属性都在同一时间,然后Files.readAttributes
方法可用于。
0L
表示,如果该文件不存在。有些操作系统可能返回的路径指示系统依赖实体如设备或管道
0L
。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
法否认对文件的读访问
public boolean createNewFile() throws IOException
注:此方法应不用于文件锁定,由此产生的协议不能可靠地工作。的FileLock
设施应该用来代替。
true
如果指定的文件不存在,创建成功;
false
如果指定的文件已经存在
IOException
如果发生I/O错误
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean delete()
请注意,Files
类定义了delete
方法抛出一个IOException
当文件无法删除。这是有用的错误报告和诊断为什么一个文件不能被删除。
true
当且仅当文件或目录删除成功;
false
否则
SecurityException
-如果存在一个安全管理方法及其
SecurityManager.checkDelete(java.lang.String)
拒绝删除文件
public void deleteOnExit()
一旦删除已请求,它是不可能取消请求。因此,该方法应使用与护理。
注:此方法应不用于文件锁定,由此产生的协议不能可靠地工作。的FileLock
设施应该用来代替。
SecurityException
-如果存在一个安全管理方法及其
SecurityManager.checkDelete(java.lang.String)
拒绝删除文件
delete()
public String[] list()
如果这个抽象路径名不表示一个目录,那么这个方法返回null
。否则,返回一个字符串数组,一个用于目录中的每个文件或目录。表示目录本身和目录的父目录的名称不包括在结果。每个字符串都是一个文件名,而不是一个完整的路径。
没有保证所得到的数组中的名称字符串将出现在任何特定的顺序,他们不是,特别是保证出现在按字母顺序排列。
请注意,Files
类定义了开放目录遍历目录中的文件的名称newDirectoryStream
方法。当使用非常大的目录时,这可能会使用更少的资源,并且当与远程目录一起工作时,可能会更敏感。
null
如果这个抽象路径名不表示一个目录,或者I/O错误发生。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(String)
方法拒绝访问该目录的读
public String[] list(FilenameFilter filter)
list()
法相同,只是在返回的数组中的字符串必须满足滤波器。如果给定的
filter
是
null
然后所有的名字都接受。否则,一个名字满足滤波器若值
true
结果当滤波器的
FilenameFilter.accept(File, String)
方法调用这个抽象路径名,它表示目录中的文件或目录的名称。
filter
-文件过滤器
filter
接受文件和目录命名数组。如果目录是空的,或者没有被过滤器接受的名称,则数组将是空的。返回
null
如果这个抽象路径名不表示一个目录,或者I/O错误发生。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(String)
方法拒绝访问该目录的读
Files.newDirectoryStream(Path,String)
public File[] listFiles()
如果这个抽象路径名不表示一个目录,那么这个方法返回null
。否则File
对象数组返回,一为目录中的每个文件或目录。表示目录本身和目录的父目录Pathnames结果不包括在。每个结果的抽象路径名是由这个抽象路径名的使用File(File, String)
构造函数。因此,如果这个路径是绝对路径名是绝对然后每个结果;如果这个路径是相对路径然后每个结果将相对于同一目录。
没有保证所得到的数组中的名称字符串将出现在任何特定的顺序,他们不是,特别是保证出现在按字母顺序排列。
请注意,Files
类定义了开放目录遍历目录中的文件的名称newDirectoryStream
方法。当使用非常大的目录时,这可能会使用更少的资源。
null
如果这个抽象路径名不表示一个目录,或者I/O错误发生。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(String)
方法拒绝访问该目录的读
public File[] listFiles(FilenameFilter filter)
listFiles()
法相同,只是在返回的数组中的参数必须满足滤波器。如果给定的
filter
是
null
然后接受所有的路径。否则,一个路径满足滤波器若值
true
结果当滤波器的
FilenameFilter.accept(File, String)
方法调用这个抽象路径名,它表示目录中的文件或目录的名称。
filter
-文件过滤器
null
如果这个抽象路径名不表示一个目录,或者I/O错误发生。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(String)
方法拒绝访问该目录的读
Files.newDirectoryStream(Path,String)
public File[] listFiles(FileFilter filter)
listFiles()
法相同,只是在返回的数组中的参数必须满足滤波器。如果给定的
filter
是
null
然后接受所有的路径。否则,一个路径满足滤波器若值
true
结果当滤波器的
FileFilter.accept(File)
方法调用的路径。
filter
-文件过滤器
null
如果这个抽象路径名不表示一个目录,或者I/O错误发生。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(String)
方法拒绝访问该目录的读
Files.newDirectoryStream(Path,java.nio.file.DirectoryStream.Filter)
public boolean mkdir()
true
若目录创建;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法不允许指定的目录被创建
public boolean mkdirs()
true
若目录的创建,以及所有必要的父目录;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkRead(java.lang.String)
方法不允许指定目录的父目录和所有必要的存在性验证;或者如果
SecurityManager.checkWrite(java.lang.String)
方法不允许指定的目录和所有必要的父目录被创建
public boolean renameTo(File dest)
此方法的行为的许多方面,本质上是依赖于平台:重命名操作可能无法把文件从一个文件到另一个,它可能不是原子,它可能不会成功如果目标抽象路径名的文件已经存在。返回值应始终检查,以确保重命名操作是成功的。
dest
-命名的文件的新的抽象路径名
true
若更名成功;否则
false
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问或旧或新的路径名
null
dest
NullPointerException
public boolean setLastModified(long time)
所有的平台都支持文件修改时间到最近的第二次,但一些提供更高的精度。该参数将被截断,以适应支持的精度。如果操作成功,没有介入操作的文件的地方,然后在
方法的下一次调用将返回(可能截断)lastModified()
time
参数被传递给该方法。
time
-新的最后修改时间,以毫秒为单位测量由于时代(00:00:00 GMT,1970年1月1日)
true
如果操作成功;
false
否则
IllegalArgumentException
如果参数为负
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问指定的文件
public boolean setReadOnly()
true
如果操作成功;
false
否则
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问指定的文件
public boolean setWritable(boolean writable, boolean ownerOnly)
的Files
类定义的操作方法对文件属性包括文件权限。这可能会被使用时,更细的文件权限的操作是必需的。
writable
-如果
true
,设置允许写操作的访问权限;如果
false
禁止写操作
ownerOnly
-如果
true
,写权限只适用于业主的写权限;否则,它适用于所有人。如果底层的文件系统无法区分所有者的写入权限,那么权限将适用于每个人,无论这个值。
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问指定的文件
public boolean setWritable(boolean writable)
这种形式的file.setWritable(arg)方法调用的行为一样,调用
文件。setwritable(Arg,真的)
writable
-如果
true
,设置允许写操作的访问权限;如果
false
禁止写操作
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean setReadable(boolean readable, boolean ownerOnly)
的Files
类定义的操作方法对文件属性包括文件权限。这可能会被使用时,更细的文件权限的操作是必需的。
readable
-如果
true
,设置允许读操作的访问权限;如果
false
不允许读操作
ownerOnly
-如果
true
,读权限只适用于所有者的读权限;否则,它适用于所有人。如果底层的文件系统无法区分所有者的读取权限的其他人,那么权限将适用于每个人,无论这个值。
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。如果
readable
是
false
和底层文件系统没有实现读取权限,那么操作将失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean setReadable(boolean readable)
这种形式的file.setReadable(arg)方法调用的行为一样,调用
文件。setreadable(Arg,真的)
readable
-如果
true
,设置允许读操作的访问权限;如果
false
不允许读操作
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。如果
readable
是
false
和底层文件系统没有实现读取权限,那么操作将失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean setExecutable(boolean executable, boolean ownerOnly)
的Files
类定义的操作方法对文件属性包括文件权限。这可能会被使用时,更细的文件权限的操作是必需的。
executable
-如果
true
,设置允许执行操作的访问权限;如果
false
不允许执行的操作
ownerOnly
-如果
true
,执行权限只适用于业主的执行权限;否则,它适用于所有人。如果底层的文件系统无法区分所有者的执行权限,那么权限将适用于每个人,无论这个值。
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。如果
executable
是
false
和底层文件系统不执行的执行权限,那么操作将失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean setExecutable(boolean executable)
这种形式的file.setExcutable(arg)方法调用的行为一样,调用
文件。setexecutable(Arg,真的)
executable
-如果
true
,设置允许执行操作的访问权限;如果
false
不允许执行的操作
true
如果操作成功。如果用户没有权限更改此抽象路径名访问权限的操作会失败。如果
executable
是
false
和底层文件系统不执行的执行权限,那么操作将失败。
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法拒绝写访问文件
public boolean canExecute()
true
即使文件没有执行权限。
true
只有抽象的路径存在,允许应用程序执行文件
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkExec(java.lang.String)
方法拒绝执行访问文件
public static File[] listRoots()
一个特定的java平台可以支持零个或多个分层组织的文件系统。每个文件系统都有一个root
目录,在文件系统的所有其他文件可以达到。Windows平台上,例如,每一个活跃的驱动器根目录;UNIX平台上有一个根目录,即"/"
。可用的文件系统的根集由各种系统级操作,如移动媒体、断开或卸下的物理或虚拟磁盘驱动器插入或弹出的影响。
此方法返回的对象File
表示可用的文件系统的根的根目录的数组。这是保证身体在本地机器上的任何文件的典型路径将开始与一根该方法返回的。
典型的路径名的文件驻留在其他机器,是通过访问远程文件系统协议如SMB和NFS可能或不可能从一根该方法返回的。如果一个远程文件的路径在语法上是没有区别的一个本地文件的路径然后将一根该方法返回的。因此,例如,File
对象表示的映射的网络驱动器的Windows平台的根目录将此方法返回的对象,而File
UNC路径名包含此方法将不会返回。
与此类中的大多数方法不同,此方法不抛出安全异常。如果存在一个安全管理及其SecurityManager.checkRead(String)
方法拒绝访问特定读取根目录,然后目录将不会出现在结果。
File
表示可用的文件系统的根对象的数组,或
null
如果设定的根不能被确定。如果没有文件系统根,则该数组将是空的。
FileStore
public long getTotalSpace()
SecurityException
如果安全管理器已经安装,它否认
RuntimePermission
("getFileSystemAttributes")或其
SecurityManager.checkRead(String)
方法拒绝访问文件的路径名命名阅读摘要
public long getFreeSpace()
返回未分配的字节数是一个提示,但不保证,它可以使用大多数或任何这些字节。未分配的字节数是最有可能这个电话后立即准确。它可能是不准确的任何外部I / O操作,包括在这个虚拟机以外的系统上作出的。此方法无法保证将此文件系统的写操作成功。
getTotalSpace()
。
SecurityException
如果安全管理器已经安装,它否认
RuntimePermission
("getFileSystemAttributes")或其
SecurityManager.checkRead(String)
方法拒绝访问文件的路径名命名阅读摘要
public long getUsableSpace()
getFreeSpace()
多。
返回的可用字节数是一个提示,但不是一个保证,它可以使用这些字节中的大多数或任何一个。未分配的字节数是最有可能这个电话后立即准确。它可能是不准确的任何外部I / O操作,包括在这个虚拟机以外的系统上作出的。此方法无法保证将此文件系统的写操作成功。
getFreeSpace()
。
SecurityException
如果安全管理器已经安装,它否认
RuntimePermission
("getFileSystemAttributes")或其
SecurityManager.checkRead(String)
方法拒绝访问文件的路径名命名阅读摘要
public static File createTempFile(String prefix, String suffix, File directory) throws IOException
在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串来生成它的名称。如果此方法返回成功,那么它将保证:
deleteOnExit()
方法。
的prefix
参数必须至少三个字符长。这是建议的前缀是短暂的,有意义的字符串,如"hjb"
或"mail"
,suffix
说法可能null
,在这种情况下将使用后缀".tmp"
。
要创建新的文件,前缀和后缀5月1日进行调整,以适应底层平台的限制。如果前缀太长,那么它将被截断,但它的前三个字符将永远保存。如果后缀太长,然后它也将被截断,但如果它一开始就周期性('.'
)然后期的前三个字符后,它将永远保留。一旦这些已作了调整,新的文件名称将由串联前缀生成,五个或更多的自创人物,和后缀。
如果directory
论点是null
那么依赖于系统的默认临时文件目录将被使用。默认的临时文件目录是由系统性java.io.tmpdir
指定。UNIX系统上,此属性的默认值是典型的"/tmp"
或"/var/tmp"
;微软Windows系统是典型的"C:\\WINNT\\TEMP"
。一个不同的值可能会给系统性能时,java虚拟机调用,但是这个属性的编程变化不能保证对该方法所使用的临时目录有什么影响。
prefix
-前缀字符串用于生成文件的名称;必须至少三个字符长
suffix
-后缀字符串用于生成文件的名称;可
null
,在这种情况下将使用后缀
".tmp"
directory
-目录中的文件将被创建,或
null
如果默认的临时文件目录是用来
IllegalArgumentException
-如果
prefix
参数包含少于三个字符
IOException
-如果文件不能被创建
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法不允许文件被创建
public static File createTempFile(String prefix, String suffix) throws IOException
createTempFile(prefix, suffix, null)
。
的Files.createTempFile
方法提供了创建临时文件目录一个空文件的一种方法。由该方法创建的文件可能具有更大的限制性访问权限,以这种方法创建的文件,因此可能更适合于安全敏感的应用程序。
prefix
-前缀字符串用于生成文件的名称;必须至少三个字符长
suffix
-后缀字符串用于生成文件的名称;可
null
,在这种情况下将使用后缀
".tmp"
IllegalArgumentException
-如果
prefix
参数包含少于三个字符
IOException
-如果文件不能被创建
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkWrite(java.lang.String)
方法不允许文件被创建
Files.createTempDirectory(String,FileAttribute[])
public int compareTo(File pathname)
compareTo
接口
Comparable<File>
pathname
-抽象路径名是相对于这一抽象路径名
public boolean equals(Object obj)
true
如果只有参数不
null
和抽象路径名表示的是同一文件或目录这样的抽象路径名。两个抽象路径名是否相等取决于底层系统。在UNIX系统中,字母大小写比较路径显著;在微软Windows系统都是不。
equals
方法重写,继承类
Object
obj
-要与此抽象路径名的对象比较
true
若对象是相同的;
false
否则
Object.hashCode()
,
HashMap
public int hashCode()
1234321
。在微软Windows系统的哈希码等于独家或其路径名的字符串转换为小写和十进制值
1234321
哈希代码。现场不考虑路径字符串的小写字母。
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public Path toPath()
java.nio.file.Path
对象由抽象路径。由此产生的
Path
与
default-filesystem
相关。
该方法的第一次调用的工作原理,如果调用它相当于评估表达式:
后续调用此方法返回相同的FileSystems.getDefault
().getPath
(this.getPath
());
Path
。
如果这个抽象路径名是空洞的抽象路径名那么这个方法返回一个Path
可用于访问当前用户目录。
Path
InvalidPathException
-如果一个
Path
对象不能由抽象的路径(见
FileSystem.getPath
)
Path.toFile()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.