在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。如果此方法成功返回,则可以保证:
- 由返回的抽象路径名表示的文件在此方法被调用之前不存在。
- 此方法及其所有变体都不会在虚拟机的当前调用中再次返回相同的抽象路径名。
此方法只提供了临时文件的部分功能。要安排自动删除此方法创建的文件,可使用 deleteonexit()
方法。
prefix
参数至少必须是三个字节长。建议前缀使用一个短的、有意义的字符串,比如 "hjb"
或 "mail"
。suffix
参数可以为 null
,在这种情况下,将使用后缀 ".tmp"
。
要创建新文件,可能首先要调整前缀和后缀,使其满足底层平台的限制。如果前缀太长,则将它截断,但前三个字符将始终保留。如果后缀太长,则将它截断,但如果它以句点字符 ('.'
) 开始,则该句点以及后跟的前三个字符将始终保留。进行了这些调整后,通过连接前缀、五个或更多个内部生成的字符以及后缀,便生成了新文件的名称。
如果 directory
参数为 null
,则使用与系统有关的默认临时文件目录。默认临时文件目录由系统属性 string
iis7站长之家.tmpdir
指定。在 unix 系统上,此属性的默认值通常是 "/tmp"
或 "/var/tmp"
;在 microsoft windows 系统上,该值通常是 "c:\winnt\temp"
。在调用 java 虚拟机时,可为此系统属性提供不同的值,但不保证使用程序更改此属性会对此方法使用的临时目录产生影响。
- 参数:
prefix
- 用于生成文件名的前缀字符串;必须至少是三字符长suffix
- 用于生成文件名的后缀字符串;可以为 null
,在这种情况下,将使用后缀 ".tmp"
directory
- 将创建的文件所在的目录;如果使用默认临时文件目录,则该参数为 null
- 返回:
- 表示新建空文件的抽象路径名
- 抛出:
illegalargumentexception
- 如果 prefix
参数包含的字符少于三个
ioexception
- 如果无法创建文件
securityexception
- 如果存在安全管理器,且其 securitymanager.checkwrite(java.lang.string)
方法不允许创建文件- 从以下版本开始:
- 1.2