gpt4 book ai didi

java - 创建文件的最简单方法是什么?

转载 作者:行者123 更新时间:2023-11-30 09:13:29 25 4
gpt4 key购买 nike

这似乎没有创建文件或文件夹。为什么?

import java.io.*;
public class file1
{
public static void main(String[] args)
{

File text1 = new File("C:/text1.txt");
File dir1 = new File("C:/dir");
}

下面这个确实创建了一个文件。

import java.io.*;
public class file3
{
public static void main(String[] args)
{
try
{
FileWriter text1 = new FileWriter("C:/text.txt");
FileWriter dir = new FileWriter("C:/dir");
}
catch(Exception e){}

}
}

但是,该目录似乎有一个奇怪的无法使用的图标。

我该怎么做才能创建一个目录。还有哪些创建文件和文件夹的简单方法。

最佳答案

令人惊讶的是,File 类并不表示文件。它实际上表示文件的路径名......可能存在也可能不存在。

用Java创建文件,需要打开输出;例如

    File text1 = new File("C:/text1.txt");
FileOutputStream os = new FileOutputStream(text1); // The file is created
// here ... if it doesn't
// exist already.
// then write to the file and close it.

或者您可以这样做 - new FileOutputStream("C:/text1.txt")。在这两种情况下,现有文件都将被截断......除非您使用带有 boolean 参数的 FileOutputStream 表示打开以进行追加。

如果你想创建一个文件而不写入任何数据,你也可以这样做:

    File text1 = new File("C:/text1.txt");
text1.createNewFile();

但是,如果文件不存在,那只会创建一个新文件。

要在 Java 中创建目录,请使用 File.mkdir()File.mkdirs() 方法。

更新

你评论了:

I tried File dir = new File("C:/dir1").mkdir(); it says incompatible types.

没错。 mkdir() 方法返回一个 boolean 来说明它是否创建了目录。你需要写的是这样的:

    File dir = new File("C:/dir1");
if (dir.mkdir()) {
System.out.println("I created it");
}

在使用您不熟悉的方法或类之前,请务必阅读 JAVADOCS!


还有几件事你需要知道:

  • 处理确保文件关闭问题的最佳方法是执行如下操作:

        try (FileOutputStream os = new FileOutputStream(text1)) {
    // now write to it
    }

    os 将在 block 退出时自动关闭。

  • 捕获Exception 通常是“不好的做法”。捕获 Exception 并且在处理程序中什么都不做是总是“不好的做法”。这种隐藏了 bug 的证据,并使您的代码不可预测且难以调试。

关于java - 创建文件的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020424/

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