java getabsolutefile,File

本文详细介绍了File类在Java中的各种操作,包括获取和设置路径、判断文件属性(如是否可读写)、创建、删除文件和目录,以及管理文件权限。还讨论了文件的大小、最后修改时间以及原子性操作的重要性。同时提到了在不同操作系统上的行为差异和注意事项。
摘要由CSDN通过智能技术生成

方法详细信息

getName public String getName()

返回此抽象路径名表示的文件或目录的名称。

这只是路径名称序列中的姓氏。

如果路径名的名称序列为空,则返回空字符串。

结果

此抽象路径名表示的文件或目录的名称,如果此路径名的名称序列为空,则为空字符串

getParent public String getParent()

返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回null 。

抽象路径名的父节点包含路径名的前缀(如果有),以及路径名的名称序列中的每个名称(除了最后一个)。 如果名称序列为空,则路径名不会命名父目录。

结果

此抽象路径名指定的父目录的路径名字符串,如果此路径名未指定父路径,

null

getParentFile public File getParentFile()

返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回null 。

抽象路径名的父节点包含路径名的前缀(如果有),以及路径名的名称序列中的每个名称(除了最后一个)。 如果名称序列为空,则路径名不会命名父目录。

结果

此抽象路径名指定的父目录的抽象路径名,如果此路径名未指定父路径,

null

从以下版本开始:

1.2

getPath public String getPath()

将此抽象路径名转换为路径名字符串。

结果

此抽象路径名的字符串形式

isAbsolute public boolean isAbsolute()

测试此抽象路径名是否为绝对路径。

绝对路径名的定义取决于系统。

在UNIX系统上,如果路径名的前缀为"/" ,则路径名是绝对路径。

在Microsoft Windows系统上,如果路径名的前缀是驱动器说明符后跟"\\" ,或者前缀为"\\\\" ,则路径名是绝对路径名。

结果

true如果此抽象路径名是绝对路径,

false

getAbsolutePath public String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串。

如果此抽象路径名已经是绝对路径名,则只需返回路径名字符串,就好像通过getPath()方法一样。 如果此抽象路径名是空抽象路径名,则返回当前用户目录的路径名字符串,该字符串由系统属性user.dir命名。 否则,此路径名将以与系统相关的方式解析。 在UNIX系统上,通过将相对路径名解析为当前用户目录,使其成为绝对路径名。 在Microsoft Windows系统上,通过将路径名解析为路径名所指定的驱动器的当前目录(如果有),使相对路径名成为绝对路径名。 如果没有,则针对当前用户目录解析。

结果

绝对路径名字符串,表示与此抽象路径名相同的文件或目录

异常

另请参见:

getAbsoluteFile public File getAbsoluteFile()

返回此抽象路径名的绝对形式。

相当于

结果

绝对抽象路径名,表示与此抽象路径名相同的文件或目录

异常

从以下版本开始:

1.2

getCanonicalPath public String getCanonicalPath()

throws IOException

返回此抽象路径名的规范路径名字符串。

规范路径名既是绝对的,也是唯一的。 规范形式的精确定义取决于系统。 如果需要,此方法首先将此路径名转换为绝对形式,就像调用getAbsolutePath()方法一样,然后以系统相关的方式将其映射到其唯一形式。 这通常涉及从路径名中删除冗余名称(如"."和".." ,解析符号链接(在UNIX平台上),以及将驱动器号转换为标准大小写(在Microsoft Windows平台上)。

表示现有文件或目录的每个路径名都具有唯一的规范形式。 表示不存在的文件或目录的每个路径名也具有唯一的规范形式。 在创建文件或目录之后,不存在的文件或目录的路径名的规范形式可能与相同路径名的规范形式不同。 类似地,在删除文件或目录之后,现有文件或目录的路径名的规范形式可以与相同路径名的规范形式不同。

结果

规范路径名字符串,表示与此抽象路径名相同的文件或目录

异常

从以下版本开始:

1.1

另请参见:

getCanonicalFile public File getCanonicalFile()

throws IOException

返回此抽象路径名的规范形式。

相当于

结果

规范路径名字符串,表示与此抽象路径名相同的文件或目录

异常

从以下版本开始:

1.2

另请参见:

toURL

Deprecated.

This method does not automatically escape characters that are illegal in URLs. It is recommended that new code convert an abstract pathname into a URL by first converting it into a URI, via the

toURI method, and then converting the URI into a URL via the

URI.toURL method.

将此抽象路径名转换为file: URL。

URL的确切形式取决于系统。

如果可以确定此抽象路径名表示的文件是目录,则生成的URL将以斜杠结束。

结果

表示等效文件URL的URL对象

异常

从以下版本开始:

1.2

另请参见:

toURI public URI toURI()

构造一个表示此抽象路径名的file: URI。

URI的确切形式取决于系统。 如果可以确定此抽象路径名表示的文件是目录,则生成的URI将以斜杠结束。

对于给定的抽象路径名f ,可以保证

new File( f .toURI()).equals( f

只要原始抽象路径名,URI和新抽象路径名都在同一个Java虚拟机的(可能是不同的调用)中创建。

由于抽象路径的与系统有关的性质,然而,这种关系通常不当持有file:被在虚拟机中创建的一个操作系统上URI被转换成抽象路径名在虚拟机中在不同的操作系统上。

请注意,当此抽象路径名表示UNC路径名时,UNC的所有组件(包括服务器名称组件)都在URI路径中进行编码。 权限组件未定义,表示它表示为null 。 Path类定义toUri方法,以在生成的URI的权限组件中对服务器名称进行编码。 可以使用toPath方法来获得表示该抽象路径名的Path 。

结果

一个绝对的分层URI,其方案等于

"file" ,表示此抽象路径名的路径,以及未定义的权限,查询和片段组件

异常

从以下版本开始:

1.4

另请参见:

canRead public boolean canRead()

测试应用程序是否可以读取此抽象路径名表示的文件。

在某些平台上,可以启动具有特殊权限的Java虚拟机,以允许它读取标记为不可读的文件。

因此,即使该文件没有读取权限,此方法也可能返回true 。

结果

true当且仅当此抽象路径名指定的文件存在且可由应用程序读取时;

否则为false

异常

canWrite public boolean canWrite()

测试应用程序是否可以修改此抽象路径名表示的文件。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它修改标记为只读的文件。

因此,即使文件标记为只读,此方法也可能返回true 。

结果

true当且仅当文件系统实际包含由此抽象路径名表示的文件且允许应用程序写入文件时;

否则为false 。

异常

exists public boolean exists()

测试此抽象路径名表示的文件或目录是否存在。

结果

true当且仅当此抽象路径名表示的文件或目录存在时;

否则为false

异常

isDirectory public boolean isDirectory()

测试此抽象路径名表示的文件是否为目录。

如果需要区分I / O异常与文件不是目录的情况,或者同时需要同一文件的多个属性的情况,则可以使用Files.readAttributes方法。

结果

true当且仅当此抽象路径名表示的文件存在并且是目录时;

否则为false

异常

isFile public boolean isFile()

测试此抽象路径名表示的文件是否为普通文件。

如果文件不是目录,则该文件是正常的 ,此外,它还满足其他系统相关标准。

由Java应用程序创建的任何非目录文件都保证是普通文件。

如果需要区分I / O异常与文件不是普通文件的情况,或者同时需要同一文件的多个属性的情况,则可以使用Files.readAttributes方法。

结果

true当且仅当此抽象路径名表示的文件存在并且是普通文件时;

否则为false

异常

isHidden public boolean isHidden()

测试此抽象路径名指定的文件是否为隐藏文件。

隐藏的确切定义取决于系统。

在UNIX系统上,如果文件的名称以句点字符( '.' )开头,则认为该文件是隐藏的。

在Microsoft Windows系统上,如果文件在文件系统中已标记为文件,则认为该文件是隐藏的。

结果

true当且仅当根据底层平台的约定隐藏此抽象路径名表示的文件时

异常

从以下版本开始:

1.2

lastModified public long lastModified()

返回上次修改此抽象路径名表示的文件的时间。

API Note:

虽然返回值的时间单位是毫秒,但值的粒度取决于基础文件系统,并且可能更大。

例如,某些文件系统使用以秒为单位的时间戳。

如果需要区分I / O异常与返回0L的情况,或者同时需要同一文件的多个属性,或者需要上次访问时间或创建时间的情况,那么可以使用Files.readAttributes方法。

结果

表示文件上次修改时间的long值,以纪元(格林威治标准时间0L ,1970年1月1日)为单位,以毫秒为单位,如果文件不存在或发生I / O错误, 0L 。

该值可以是负数,表示在纪元之前的毫秒数

异常

length public long length()

返回此抽象路径名表示的文件的长度。

如果此路径名表示目录,则返回值未指定。

如果需要区分I / O异常与返回0L的情况,或者同时需要同一文件的多个属性,则可以使用Files.readAttributes方法。

结果

此抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在, 0L 。

对于表示系统相关实体(如设备或管道)的路径名,某些操作系统可能会返回0L 。

异常

createNewFile public boolean createNewFile()

throws IOException

当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。

检查文件是否存在以及文件的创建(如果不存在)是针对可能影响文件的所有其他文件系统活动的原子操作。

注意:此方法不应用于文件锁定,因为无法使生成的协议可靠地工作。

结果

true如果指定的文件不存在且已成功创建;

false如果指定的文件已存在

异常

从以下版本开始:

1.2

delete public boolean delete()

删除此抽象路径名表示的文件或目录。

如果此路径名表示目录,则该目录必须为空才能被删除。

这对于错误报告和诊断无法删除文件的原因很有用。

deleteOnExit public void deleteOnExit()

请求在虚拟机终止时删除此抽象路径名表示的文件或目录。

文件(或目录)的删除顺序与注册顺序相反。

调用此方法删除已注册删除的文件或目录无效。

将仅尝试删除虚拟机的正常终止,如Java语言规范所定义。

一旦请求删除,就无法取消请求。 因此,应谨慎使用此方法。

注意:此方法不应用于文件锁定,因为无法使生成的协议可靠地工作。

list public String[] list()

返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。

如果此抽象路径名不表示目录,则此方法返回null 。 否则返回一个字符串数组,一个用于目录中的每个文件或目录。 表示目录本身的名称和目录的父目录不包含在结果中。 每个字符串都是文件名而不是完整路径。

无法保证结果数组中的名称字符串将以任何特定顺序出现; 特别是,它们不能保证按字母顺序出现。

请注意, Files类定义了newDirectoryStream方法来打开目录并迭代目录中文件的名称。 在处理非常大的目录时,这可能会使用更少的资源,并且在使用远程目录时可能更具响应性。

结果

一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。

如果目录为空,则数组将为空。

如果此抽象路径名不表示目录,或者发生I / O错误,则返回null 。

异常

list public String[] list​(FilenameFilter filter)

返回一个字符串数组,用于命名由此抽象路径名表示的目录中的文件和目录,以满足指定的过滤器。

此方法的行为与list()方法的行为相同,只是返回的数组中的字符串必须满足过滤器。

如果给定的filter是null则接受所有名称。

否则,当且仅当在此抽象路径名上调用过滤器的FilenameFilter.accept(File, String)方法以及其表示的目录中的文件或目录的名称时,才会生成值true的名称。

参数

filter - 文件名过滤器

结果

一个字符串数组,用于命名由此抽象路径名表示的目录中的文件和目录,这些文件和目录由给定的filter接受。

如果目录为空或过滤器未接受任何名称,则该数组将为空。

如果此抽象路径名不表示目录,或者发生I / O错误,则返回null 。

异常

另请参见:

listFiles public File[] listFiles()

返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。

如果此抽象路径名不表示目录,则此方法返回null 。 否则返回File对象的数组,每个文件或目录对应一个对象。 表示目录本身的路径名和目录的父目录不包含在结果中。 每个生成的抽象路径名都是使用File(File, String)构造函数从此抽象路径名构造的。 因此,如果此路径名是绝对的,那么每个结果路径名都是绝对的; 如果此路径名是相对的,则每个结果路径名将相对于同一目录。

无法保证结果数组中的名称字符串将以任何特定顺序出现; 特别是,它们不能保证按字母顺序出现。

请注意, Files类定义了newDirectoryStream方法来打开目录并迭代目录中文件的名称。 使用非常大的目录时,这可能会占用更少的资源。

结果

一组抽象路径名,表示此抽象路径名表示的目录中的文件和目录。

如果目录为空,则数组将为空。

如果此抽象路径名不表示目录,或者发生I / O错误,则返回null 。

异常

从以下版本开始:

1.2

listFiles public File[] listFiles​(FilenameFilter filter)

返回一个抽象路径名数组,表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

此方法的行为与listFiles()方法的行为相同,只是返回的数组中的路径名必须满足过滤器。

如果给定的filter是null则接受所有路径名。

否则,当且仅当在此抽象路径名上调用过滤器的FilenameFilter.accept(File, String)方法以及其表示的目录中的文件或目录的名称时,才会生成值true的路径名满足过滤器。

参数

filter - 文件名过滤器

结果

一组抽象路径名,表示此抽象路径名表示的目录中的文件和目录。

如果目录为空,则数组将为空。

如果此抽象路径名不表示目录,或者发生I / O错误,则返回null 。

异常

从以下版本开始:

1.2

另请参见:

listFiles public File[] listFiles​(FileFilter filter)

返回一个抽象路径名数组,表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

此方法的行为与listFiles()方法的行为相同,只是返回的数组中的路径名必须满足过滤器。

如果给定的filter是null则接受所有路径名。

否则,当且仅当在路径名true的FileFilter.accept(File)方法时得到值true时,路径名才满足过滤器。

参数

filter - 文件过滤器

结果

一组抽象路径名,表示此抽象路径名表示的目录中的文件和目录。

如果目录为空,则数组将为空。

如果此抽象路径名不表示目录,或者发生I / O错误,则返回null 。

异常

从以下版本开始:

1.2

另请参见:

mkdir public boolean mkdir()

创建此抽象路径名指定的目录。

mkdirs public boolean mkdirs()

创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。

请注意,如果此操作失败,则可能已成功创建一些必需的父目录。

renameTo public boolean renameTo​(File dest)

重命名此抽象路径名表示的文件。

此方法行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,如果具有目标抽象路径名的文件,它可能不会成功已经存在。 应始终检查返回值以确保重命名操作成功。

请注意, Files类定义了move方法,以独立于平台的方式移动或重命名文件。

参数

dest - 指定文件的新抽象路径名

结果

true当且仅当重命名成功时;

否则为false

异常

setLastModified public boolean setLastModified​(long time)

设置此抽象路径名指定的文件或目录的上次修改时间。

所有平台都支持文件修改时间到最接近的秒,但有些平台提供更高的精度。 该参数将被截断以适合支持的精度。 如果操作成功并且没有对文件进行干预操作,则下一次调用lastModified()方法将返回传递给此方法的(可能被截断的) time参数。

参数

time - 新的上次修改时间,以纪元(1970年1月1日格林威治标准时间00:00:00)开始,以毫秒为单位

结果

true当且仅当操作成功;

否则为false

异常

从以下版本开始:

1.2

setReadOnly public boolean setReadOnly()

标记此抽象路径名指定的文件或目录,以便仅允许读取操作。

调用此方法后,文件或目录将不会更改,直到删除或标记为允许写访问。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它修改标记为只读的文件。

是否可以删除只读文件或目录取决于底层系统。

结果

true当且仅当操作成功;

否则为false

异常

从以下版本开始:

1.2

setWritable public boolean setWritable​(boolean writable,

boolean ownerOnly)

设置此抽象路径名的所有者或每个人的写入权限。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它修改禁止写入操作的文件。

Files类定义了对文件属性(包括文件权限)进行操作的方法。 当需要更精细地处理文件权限时,可以使用此方法。

参数

writable - 如果是true ,则设置允许写入操作的访问权限;

如果false禁止写操作

ownerOnly - 如果是true ,则写入权限仅适用于所有者的写入权限;

否则,它适用于所有人。

如果基础文件系统无法区分所有者的写入权限与其他人的写入权限,则该权限将适用于所有人,无论此值如何。

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

异常

从以下版本开始:

1.6

setWritable public boolean setWritable​(boolean writable)

一种方便的方法,用于设置此抽象路径名的所有者写入权限。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它修改禁止写入操作的文件。

调用file.setWritable(arg)形式的此方法的行为与调用的方式完全相同

file.setWritable(arg, true)

参数

writable - 如果是true ,则设置允许写入操作的访问权限;

如果false禁止写操作

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

异常

从以下版本开始:

1.6

setReadable public boolean setReadable​(boolean readable,

boolean ownerOnly)

设置此抽象路径名的所有者或每个人的读取权限。

在某些平台上,可以启动具有特殊权限的Java虚拟机,以允许它读取标记为不可读的文件。

Files类定义了对文件属性(包括文件权限)进行操作的方法。 当需要更精细地处理文件权限时,可以使用此方法。

参数

readable - 如果是true ,则设置允许读取操作的访问权限;

如果false禁止读取操作

ownerOnly - 如果是true ,则读取权限仅适用于所有者的读取权限;

否则,它适用于所有人。

如果基础文件系统无法区分所有者的读取权限与其他人的读取权限,则该权限将适用于所有人,无论此值如何。

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

如果readable是false且基础文件系统未实现读取权限,则操作将失败。

异常

从以下版本开始:

1.6

setReadable public boolean setReadable​(boolean readable)

一种方便的方法,用于设置此抽象路径名的所有者读取权限。

在某些平台上,可以启动具有特殊权限的Java虚拟机,以允许它读取标记为不可读的文件。

调用file.setReadable(arg)形式的此方法的行为与调用的方式完全相同

file.setReadable(arg, true)

参数

readable - 如果是true ,则设置允许读取操作的访问权限;

如果false禁止读取操作

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

如果readable是false且基础文件系统未实现读取权限,则操作将失败。

异常

从以下版本开始:

1.6

setExecutable public boolean setExecutable​(boolean executable,

boolean ownerOnly)

设置此抽象路径名的所有者或每个人的执行权限。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它执行未标记为可执行文件的文件。

Files类定义了对文件属性(包括文件权限)进行操作的方法。 当需要更精细地处理文件权限时,可以使用此方法。

参数

executable - 如果是true ,则设置允许执行操作的访问权限;

如果false禁止执行操作

ownerOnly - 如果是true ,则执行权限仅适用于所有者的执行权限;

否则,它适用于所有人。

如果基础文件系统无法区分所有者的执行权限与其他人的执行权限,则该权限将适用于所有人,无论此值如何。

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

如果executable是false且基础文件系统未实现执行权限,则操作将失败。

异常

从以下版本开始:

1.6

setExecutable public boolean setExecutable​(boolean executable)

一种方便的方法,用于设置此抽象路径名的所有者执行权限。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它执行未标记为可执行文件的文件。

调用file.setExcutable(arg)形式的此方法的行为与调用的方式完全相同

file.setExecutable(arg, true)

参数

executable - 如果是true ,则设置允许执行操作的访问权限;

如果false禁止执行操作

结果

true当且仅当操作成功。

如果用户无权更改此抽象路径名的访问权限,则操作将失败。

如果executable是false且基础文件系统未实现执行权限,则操作将失败。

异常

从以下版本开始:

1.6

canExecute public boolean canExecute()

测试应用程序是否可以执行此抽象路径名表示的文件。

在某些平台上,可以使用特殊权限启动Java虚拟机,以允许它执行未标记为可执行文件的文件。

因此,即使该文件没有执行权限,此方法也可能返回true 。

结果

true当且仅当抽象路径名存在

且允许应用程序执行该文件时

异常

从以下版本开始:

1.6

listRoots public static File[] listRoots()

列出可用的文件系统根目录。

特定的Java平台可以支持零个或多个分层组织的文件系统。 每个文件系统都有一个root目录,可以从该目录中访问该文件系统中的所有其他文件。 例如,Windows平台的每个活动驱动器都有一个根目录; UNIX平台有一个根目录,即"/" 。 可用文件系统根的集合受各种系统级操作的影响,例如插入或弹出可移动介质以及断开或卸载物理或虚拟磁盘驱动器。

此方法返回一个File对象的数组,表示可用文件系统根目录的根目录。 保证本地计算机上物理存在的任何文件的规范路径名将以此方法返回的根之一开始。

驻留在某些其他计算机上并通过远程文件系统协议(如SMB或NFS)访问的文件的规范路径名可能会也可能不会以此方法返回的根之一开头。 如果远程文件的路径名在语法上与本地文件的路径名无法区分,那么它将以此方法返回的一个根开头。 因此,例如, File对象表示在Windows平台的映射的网络驱动器的根目录下将通过该方法返回,而File含有UNC路径名的对象将不通过该方法来返回。

与此类中的大多数方法不同,此方法不会引发安全性异常。 如果存在安全管理器且其SecurityManager.checkRead(String)方法拒绝对特定根目录的读访问,则该目录不会出现在结果中。

结果

表示可用文件系统根的File对象数组,如果无法确定根集, null 。

如果没有文件系统根,则该数组将为空。

从以下版本开始:

1.2

另请参见:

getTotalSpace public long getTotalSpace()

通过此抽象路径名返回分区

named的大小。

结果

分区的大小(以字节为单位)或

0L如果此抽象路径名未指定分区)

异常

从以下版本开始:

1.6

getFreeSpace public long getFreeSpace()

通过此抽象路径名返回分区named中未分配的字节数。

返回的未分配字节数是一个提示,但不能保证可以使用大多数或任何这些字节。 此次调用后,未分配的字节数最有可能是准确的。 任何外部I / O操作(包括在此虚拟机外部的系统上进行的操作)都可能使其不准确。 此方法无法保证对此文件系统的写入操作将成功。

结果

分区上未分配的字节数,如果抽象路径名未指定分区, 0L 。

此值将小于或等于getTotalSpace()返回的文件系统总大小。

异常

从以下版本开始:

1.6

getUsableSpace public long getUsableSpace()

通过此抽象路径名返回分区named上此虚拟机可用的字节数。

如果可能,此方法将检查写入权限和其他操作系统限制,因此通常可以比getFreeSpace()更准确地估计实际写入的新数据量 。

返回的可用字节数是一个提示,但不能保证可以使用大多数或任何这些字节。 此次调用后,未分配的字节数最有可能是准确的。 任何外部I / O操作(包括在此虚拟机外部的系统上进行的操作)都可能使其不准确。 此方法无法保证对此文件系统的写入操作将成功。

结果

分区上的可用字节数,如果抽象路径名未指定分区, 0L 。

在此信息不可用的系统上,此方法将等同于对getFreeSpace()的调用。

异常

从以下版本开始:

1.6

createTempFile public static File createTempFile​(String prefix,

String suffix,

File directory)

throws IOException

在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。 如果此方法成功返回,则保证:

在调用此方法之前,返回的抽象路径名表示的文件不存在,并且

在当前的虚拟机调用中,此方法或其任何变体都不会再次返回相同的抽象路径名。

此方法仅提供临时文件工具的一部分。

要安排自动删除此方法创建的文件,请使用deleteOnExit()方法。

prefix参数必须至少为三个字符。 建议前缀为短的,有意义的字符串,如"hjb"或"mail" 。 suffix参数可以是null ,在这种情况下将使用后缀".tmp" 。

要创建新文件,可以首先调整前缀和后缀以适应底层平台的限制。 如果前缀太长,那么它将被截断,但它的前三个字符将始终保留。 如果后缀太长,那么它也将被截断,但如果它以句点字符( '.' )开头,那么将始终保留句点和后面的前三个字符。 完成这些调整后,将通过连接前缀,五个或更多内部生成的字符以及后缀来生成新文件的名称。

如果directory参数为null则将使用系统相关的默认临时文件目录。 默认临时文件目录由系统属性java.io.tmpdir指定。 在UNIX系统上,此属性的默认值通常为"/tmp"或"/var/tmp" ; 在Microsoft Windows系统上,它通常是"C:\\WINNT\\TEMP" 。 调用Java虚拟机时,可以为此系统属性提供不同的值,但不保证对此属性的编程更改会对此方法使用的临时目录产生任何影响。

参数

prefix - 用于生成文件名的前缀字符串;

必须至少三个字符长

suffix - 用于生成文件名的后缀字符串;

可以是null ,在这种情况下将使用后缀".tmp"

directory - 要在其中创建文件的目录,如果要使用默认临时文件目录,

null

结果

表示新创建的空文件的抽象路径名

异常

从以下版本开始:

1.2

createTempFile public static File createTempFile​(String prefix,

String suffix)

throws IOException

在默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称。

Files.createTempFile方法提供了另一种在临时文件目录中创建空文件的方法。 由该方法创建的文件可能对此方法创建的文件具有更严格的访问权限,因此可能更适合安全敏感的应用程序。

参数

prefix - 用于生成文件名的前缀字符串;

必须至少三个字符长

suffix - 用于生成文件名的后缀字符串;

可以是null ,在这种情况下将使用后缀".tmp"

结果

表示新创建的空文件的抽象路径名

异常

从以下版本开始:

1.2

另请参见:

compareTo public int compareTo​(File pathname)

按字典顺序比较两个抽象路径名。

此方法定义的排序取决于底层系统。

在UNIX系统上,字母大小写在比较路径名时很重要;

在Microsoft Windows系统上它不是。

Specified by:

参数

pathname - 要与此抽象路径名进行比较的抽象路径名

结果

如果参数等于此抽象路径名,则为零;如果此抽象路径名按字典顺序小于参数,则为小于零;如果此抽象路径名在字典上大于参数,则值大于零

从以下版本开始:

1.2

equals public boolean equals​(Object obj)

测试此抽象路径名与给定对象的相等性。

当且仅当参数不是null并且是表示与此抽象路径名相同的文件或目录的抽象路径名时,返回true 。

两个抽象路径名是否相等取决于底层系统。

在UNIX系统上,字母大小写在比较路径名时很重要;

在Microsoft Windows系统上它不是。

重写:

参数

obj - 要与此抽象路径名进行比较的对象

结果

true当且仅当对象相同时;

否则为false

另请参见:

hashCode public int hashCode()

计算此抽象路径名的哈希码。

因为抽象路径名的相等性本质上是依赖于系统的,所以它们的哈希码的计算也是如此。

在UNIX系统上,抽象路径名的哈希码等于其路径名字符串的唯一或哈希码以及十进制值1234321 。

在Microsoft Windows系统上,哈希码等于其路径名字符串的异或或其哈希码转换为小写,小数值为1234321 。

在小写路径名字符串时不考虑区域设置。

toString public String toString()

返回此抽象路径名的路径名字符串。

这只是getPath()方法返回的字符串。

重写:

结果

此抽象路径名的字符串形式

toPath public Path toPath()

第一次调用此方法就像调用它等同于计算表达式一样:

此方法的后续调用返回相同的Path 。

如果此抽象路径名是空的抽象路径名,则此方法返回可用于访问当前用户目录的Path 。

结果

从这个抽象的路径构造的

Path

异常

从以下版本开始:

1.7

另请参见:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值