gpt4 book ai didi

java - 无法创建文件并断言其存在

转载 作者:行者123 更新时间:2023-12-02 11:40:38 24 4
gpt4 key购买 nike

我正在使用JAVA创建一个日志文件,但是在创建它之后,当我断言它的存在时,我得到一个java.lang.AssertionError。我肯定做错了什么,但我不知道是什么。这是代码:

File testLogFile = new File("/home/ninad/eclipse-workspace/Log.txt");

testLogFile.createNewFile();

service = builder.withLogFile(testLogFile).build();

service.start

assertTrue(testLogFile.exists());

最佳答案

我可以想到一些可能的解释:

  1. 您没有检查 createNewFile() 调用的结果。如果文件之前不存在并且已成功创建,则返回 true。

    根据我对 javadoc 的阅读,如果该方法尝试创建文件但失败,它应该抛出IOException。但不利的一面是,如果您不测试调用的结果,则无法确定您是否获得了新文件。

  2. 构建器或服务可能会删除或重命名日志文件。

  3. 如果代码是多线程应用程序的一部分,则另一个线程可能已删除/重命名该文件。

  4. 该文件(理论上)可能已被另一个应用程序删除/重命名。

  5. 您可能拥有创建该文件的(操作系统级别)权限,但无法测试其是否存在。 (这似乎有点牵强……但有些操作系统具有“复杂”的权限系统。)

可能还有其他我没有想到的事情。如果您提供了 MCVE(包括“构建器”实现),我们可以检查。

关于java - 无法创建文件并断言其存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48594224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com