【问题标题】:Why can't i see the textfile that i've created in the working directory?为什么我看不到我在工作目录中创建的文本文件?
【发布时间】:2014-12-23 02:51:55
【问题描述】:
File f = new File("textfile.txt");
        System.out.println(f.getAbsolutePath());

这会打印出文本文件的路径,但是当我转到它的目录时,文本文件不存在。文本文件是隐藏还是未创建?

【问题讨论】:

    标签: java file filenotfoundexception


    【解决方案1】:

    因为,您没有创建文件,而是创建了File

    File 代表一个虚拟/抽象文件名。它不需要实际存在于磁盘上。

    虽然有几种方法可以做到这一点,但最简单的可能是使用File#createNewFile,只需确保检查返回值,因为它不能正常工作

    File file = new File("textfile.txt");
    System.out.println("Exists: " + f.exists());
    if (!file.exists()) {
        if (!file.createNewFile()) {
            System.out.println("Sorry, could not create " + file);
        } else {
            System.out.println("Create file " + file + " successfully");
        }
    }
    

    【讨论】:

    • 但我上次使用 new File("textfile.txt"); ,文本文件实际出现。
    • @kevinlee 那我建议要么文件已经存在,要么你以某种方式写入文件。
    • 我还有一个问题。我需要将目录路径更改到其他地方吗?以及如何更改根目录设置?我正在使用 netbeans ide 来保存和检索数据
    • @kevinlee 你可以在docs.oracle.com/javase/tutorial/essential/io/index.html找到一个相当全面的文件处理教程
    • 在不提供路径的情况下创建File 对象会将文件置于程序的当前执行上下文(工作目录)中。要更改路径,您需要提供相对路径或绝对路径到您想要文件的位置。但请注意,某些操作系统会主动限制对根路径上下文的访问。在 Windows 下,您可以使用 /textfile.txt 获取当前驱动器的根目录,例如...还要注意,如果路径不存在,调用 createNewFile 将失败,因为它不会为您创建路径...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多