当前位置: 首页 > 面试题库 >

File.createNewFile()考虑到IOException没有这样的文件或目录

谯振国
2023-03-14
问题内容

我有一种写入日志文件的方法。如果文件存在,则应将其追加到文件中,否则,我希望它创建一个新文件。

if (!file.exists() && !file.createNewFile()) {
    System.err.println("Error with output file: " + outFile
        + "\nCannot create new file.");
    continue;
}

我要检查是否可以创建文件。文件是一个java.io.File对象。createNewFile引发IOException:没有此类文件或目录。自从我几周前编写此方法以来,该方法一直非常有效,直到最近才开始执行此方法,尽管我不知道自己可以更改什么。我检查了该目录是否存在,并且我拥有该目录的写权限,但是后来我认为,如果由于某种原因无法创建该文件,它应该只返回false。

我有什么想让它正常工作吗?


问题答案:

通常这是您最近更改的内容,首先是示例代码,如果不存在文件并且不创建新文件-您正在尝试将某些内容编码掉-这是什么?

然后,查看目录列表以查看它是否确实存在,并在文件对象上执行println / toString()并在异常上执行getMessage()以及打印堆栈跟踪。

然后,再次从零知识开始,并从开始使用的每个步骤重新考虑因素。您可能在代码概念化时停留在某个地方(因为它在起作用),因为您只是详细地追溯了每个步骤,就可以找到它。



 类似资料:
  • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑

  • 问题内容: 我从节点应用程序收到此错误: 我知道文件在那里,因为当我尝试使用确切的复制和粘贴路径打开文件时,它可以工作。我也知道应用程序使用的是正确的目录,因为它会在错误中输出它。 问题答案: 波浪形扩展是一件空壳的事情。编写正确的路径名(可能是yourusername )或使用

  • 问题内容: 我最近在运行Ubuntu 12.04 LTS的Macbook Pro上安装了用于C ++开发的KDevelop 4。 我想在我的C ++代码中嵌入Python应用程序。为此,需要包含Python.h头文件。所以,我做到了。 但是,在运行时,我从IDE收到以下响应: 但是,我很快就发现了问题。我还没有下载python- dev软件包。所以,我做到了。我又跑了一次,但同样的错误又出现了。因

  • 问题内容: 我在运行docker文件时收到来自docker的错误消息。就是说/ var / lib / docker / aufs / layers / xxxx:运行Docker build时没有这样的文件或目录。 我尝试了多种方法来删除容器和图像,因此我对此非常有兴趣。 任何 Docker文件为: 完整的控制台输出为: 编辑 @BMitchs的建议解决了该问题: rm -rf / var /

  • 我想我没有从源代码正确安装pylint。这是学习python中包如何工作的好机会。 我从源代码中安装了,我可以在我的pip列表中看到它。 我想卸载它并从pypi安装。 但是,我的2个pip是空的,但是当我使用 我得到一个错误 有没有办法删除这个bash命令?Pylint可能是安装了,但我不知道在哪里,或如何删除它? 编辑:正如评论中建议的,我尝试了这个链接查找哪个版本的包安装了pip。这也给了我一

  • 一切正常,uri正在获取图像和路径,但在第二个acitivty返回时,图像不显示在imageView中,并在logcat中显示,请帮助 E/Ashish://storage/emulated/0/pictures/fotoaula/img_20180329_183302.jpg E/bitmapFactory:无法解码流:java.io.fileNotFoundException://storag