📜  Java的文件 createTempDirectory() 方法和示例

📅  最后修改于: 2022-05-13 01:55:12.080000             🧑  作者: Mango

Java的文件 createTempDirectory() 方法和示例

Java.nio.file.Files 类的 createTempDirectory() 方法用于使用给定的前缀和属性创建新目录。给定的前缀作为所形成目录的名称,可以为空。目录是用给定的属性设置的。

基于传递的参数类型,Files 类提供了两种类型的 createTempDirectory() 方法。

方法:

1. public static Path createTempDirectory(Path dir, String prefix, FileAttribute... attrs):该方法用于在已经存在的目录中创建一个新目录,使用给定的前缀生成其名称。新形成的目录的路径与默认文件系统相关联。与指定目录的路径相同。候选名称是使用前缀生成的。 File.deleteOnExit() 方法用于自动删除目录。 attrs 参数用于设置目录的属性。每个属性都由其名称标识。如果使用相同名称指定了多个属性,则忽略除最后一个之外的所有出现。

参数:



  • dir – 必须在其中创建新目录的现有目录的路径
  • prefix - 目录的名称,可能为空
  • attrs – 设置目录的属性(可选)

返回:新建目录的路径

例外:

  • IllegalArgumentException – 如果前缀不是合适的候选目录名称
  • UnsupportedOperationException – 如果无法将任何指定的属性设置为目录
  • IOException – 如果发生 I/O 错误
  • SecurityException – 如果在创建目录时安全管理器调用了 checkWrite 方法或写入权限被拒绝。
Java
// Java Program to show the usage of
// public static Path createTempDirectory
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
 
// Driver class
public class GFG {
   
    // main method
    public static void main(String[] args)
    {
        // prefix used to create candidate names
        String prefix = "TempDirectory";
       
        // path of the directory in which temporary
        // directory has to created
        Path dir = (Path)Paths.get("/usr", "local", "bin",
                                   "directory");
        try {
            // creating temporary directory ans storing its
            // path in tempDir variable
            Path tempDir
                = Files.createTempDirectory(dir, prefix);
           
            // printing the path of the created temporary
            // directory
            System.out.println(
                "Temporary Directory created at:\n"
                + tempDir.toString());
           
            // deleting the temporary directory after the
            // virtual machine terminates
            tempDir.toFile().deleteOnExit();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}


Java
// Java Program to show the usage of
// public static Path createTempDirectory(
// String prefix, FileAttribute... attrs)
// Method
import java.nio.file.Files;
import java.nio.file.Path;
 
// Driver class
public class GFG {
   
    // main method
    public static void main(String[] args)
    {
        // prefix used to create candidate names
        String prefix = "TempDirectory";
 
        try {
           
            // creating temporary directory and storing its
            // path in tempDir variable
            Path tempDir
                = Files.createTempDirectory(prefix);
           
            // printing the path of the created temporary
            // directory
            System.out.println(
                "Temporary Directory created at:\n"
                + tempDir.toString());
           
            // deleting the temporary directory after the
            // virtual machine terminates
            tempDir.toFile().deleteOnExit();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}


输出:

Temporary Directory created at: 
/usr/local/bin/directory/TempDirectory1472243991754401317

2. public static Path createTempDirectory(String prefix, FileAttribute... attrs):这个方法 用于使用给定的前缀和属性创建新目录。给定的前缀作为所形成目录的名称,可以为空。候选名称是使用前缀生成的。目录是用给定的属性设置的。新形成的目录的路径与默认文件系统相关联。 attrs 参数用于设置目录的属性。每个属性都由其名称标识。如果使用相同名称指定了多个属性,则忽略除最后一个之外的所有匹配项。

参数:

  • prefix - 目录的名称,可能为空
  • attrs – 设置目录的属性(可选)

返回:新建目录的路径

例外:

  • IllegalArgumentException – 如果前缀不是合适的候选目录名称
  • UnsupportedOperationException – 如果无法将任何指定的属性设置为目录
  • IOException – 如果发生 I/O 错误
  • SecurityException – 如果在创建目录时安全管理器调用了 checkWrite 方法或写入权限被拒绝

Java

// Java Program to show the usage of
// public static Path createTempDirectory(
// String prefix, FileAttribute... attrs)
// Method
import java.nio.file.Files;
import java.nio.file.Path;
 
// Driver class
public class GFG {
   
    // main method
    public static void main(String[] args)
    {
        // prefix used to create candidate names
        String prefix = "TempDirectory";
 
        try {
           
            // creating temporary directory and storing its
            // path in tempDir variable
            Path tempDir
                = Files.createTempDirectory(prefix);
           
            // printing the path of the created temporary
            // directory
            System.out.println(
                "Temporary Directory created at:\n"
                + tempDir.toString());
           
            // deleting the temporary directory after the
            // virtual machine terminates
            tempDir.toFile().deleteOnExit();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

输出:

Temporary Directory created at: 
/var/folders/13/jsq29lh11bn7kgwnzpggqytr0000gn/T/TempDirectory4403940384431706243