Java 如何使用文件创建临时目录结构
我面临以下问题:我想创建一个简单的目录结构,由一个根文件夹、两个子文件夹组成,每个子文件夹应该包含两个文件。我是如何做到的,哪些不起作用:Java 如何使用文件创建临时目录结构,java,junit,Java,Junit,我面临以下问题:我想创建一个简单的目录结构,由一个根文件夹、两个子文件夹组成,每个子文件夹应该包含两个文件。我是如何做到的,哪些不起作用: TemporaryFolder temp = new TemporaryFolder(); File rootFolder = temp.newFolder("rootFolder"); File child1 = temp.newFolder(rootFolder.getName(), "childFolder1"); File child2 = temp
TemporaryFolder temp = new TemporaryFolder();
File rootFolder = temp.newFolder("rootFolder");
File child1 = temp.newFolder(rootFolder.getName(), "childFolder1");
File child2 = temp.newFolder(rootFolder.getName(), "childFolder2");
上面的代码正确地创建了目录结构。我无法在给定文件夹下创建文件,因为newFile()方法只接受filename(不能包含特殊字符),并在root temp下而不是在我创建的树中创建文件。有什么想法吗?没有junit专门用于创建临时文件的内容?链接到API for java.io.file createTempFile静态方法,该方法采用目录和前缀后缀只需使用
java.io.file
:
new File(child1, "some-file.txt")
将在
child1
文件夹下创建一个名为“some file.txt”的文件。它们仍将按照TemporaryFolder
规则作为临时文件进行清理。您正在使用@Rule
注释,对吗?如果我正确理解您的问题,我认为使用更多File类提供的内容会有所帮助。看
我认为如果你尝试这样的方法,你会有一个更典型的方法:
File tempfldr = new File("C:\\rootFolder\\childFolder1");
tempfldr.mkdirs();
File tempfldr2 = new File("C:\\rootFolder\\childFolder2");
tempfldr2.mkdirs();
File child1 = File.createTempFile("prefix_val", "suffix_val", tempfldr);
File child2 = File.createTempFile("prefix_val", "suffix_val", tempfldr2);
请编辑您的答案以添加链接中的上下文。这有助于避免链接损坏造成的问题。感谢您的回答。我正在努力使用JUnit中的某个内容。你是对的,因为我使用@Rule注释,使用文件api创建的文件也将被删除。