使用JUnit的Rule注释的临时文件夹

时间:2018-08-14 06:14:33

标签: java file junit directory

我正在使用JUnit的TemporaryFolder类规则在JUnit运行期间创建一个临时文件夹。

@Rule
public TemporaryFolder folder = new TemporaryFolder();

folder.newFolder("NewFolder");

新文件夹的创建路径如下:

C:\Users\abc\abc\Local\Temp\junit991415299992369999\NewFolder

我正在寻找要在根目录创建的新文件夹,例如:

C:\NewFolder

如何实现对Windows和Linux都有利的目标?

我在下面尝试过

folder.newFolder("\\", "NewFolder"); // Same result
folder.newFolder("C:\\", "NewFolder"); // results in java.io.IOException: a folder with the name 'NewFolder' already exists. (Even though there is no existing folder with this name)
folder.newFolder("./", "NewFolder"); // creates at C:\Users\abc\abc\Local\Temp\junit991415299992369999\.\NewFolder

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须使用不同的根目录创建TemporaryFolder。像

@Rule
public final TemporaryFolder folder = new TemporaryFolder(
    new File("C:\\")
);

没有在Windows上对其进行测试,但我想您明白了。