【问题标题】:Is it possible to simulate a file creation exception in Java on Linux?是否可以在 Linux 上用 Java 模拟文件创建异常?
【发布时间】:2011-05-13 02:07:22
【问题描述】:

我进行了一个简单的测试,以确保 ant 任务正常运行,因此为 windows 和 linux 输入非法文件字符,如下所示:

@Test(expected=BuildException.class)
public void destinationDirectoryCreationException() throws Exception {
    backupTask.setSrcDir(testResourceDirectory);
    backupTask.setDestDir(new File("?/"));
    backupTask.execute();
}

不幸的是,/ 是非法文件字符的原因是它是路径分隔符,所以这只会像平常一样创建目录。

此外,char 0nul 被各种 api(特别是本机文件 api 和 eclipse 的调试变量资源管理器)解释为流的结尾,因此之后会忽略所有内容。

【问题讨论】:

    标签: java linux file exception testing


    【解决方案1】:

    没有。 Linux 太棒了,不能让你可怜的小测试失败。

    好的,所以 osgx 实际上提出了一个特别适用于我的测试的解决方案(如果他回答了,他可以获得 15 个代表;));使该目录成为不存在的目录的子目录。例如backupTask.setDestDir(new File("/\\/?/"));。唯一的问题是它与原始测试略有不同,但我可以接受。

    还要注意(我相信)如果调用 .mkdirs() 而不是 mkdir(),它仍然会成功创建文件夹

    【讨论】:

    • 尝试在根目录或不存在的文件夹中创建文件。
    • 我要你检查一下,有没有帮助
    • 是的,它帮助很大,backupTask.setDestDir(new File("/\\/?/")); 成功了
    • 1 表示没有帮助,+2 表示很棒 = +1
    猜你喜欢
    • 1970-01-01
    • 2013-10-20
    • 2015-09-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多