无法写入文件

Unable to write to a file

我浏览了本论坛的所有相关帖子,也搜索过但没有找到确切答案。

当运行以下代码时,出现以下错误:

The constructor BufferedWriter(FileWriter) is undefined

The constructor FileWriter(String) is undefined

public class FileWriter {
    public static void main(String[] args) {        
        BufferedWriter f = null;

        try
        {
            f = new BufferedWriter(new FileWriter("C:\A.txt"));
            f.write("Hello World");
        }
        catch(IOException e)
        {
            System.out.println(e);
        }
        finally
        {
            f.close();  
        }
    }
}
  • 我猜你想使用 java.io.FileWriter class of java 但你重新定义了它。您可以将 class 重命名为其他更有意义的名称。

  • 您必须导入您用过的 class,例如 BufferedWriter。这就是你得到未定义错误的原因。

  • 此外,在关闭之前检查作者 f 是否为 null 也是一个好习惯:


import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class FileWriterExample {
    public static void main(String[] args) {
        BufferedWriter f = null;
        try {
            f = new BufferedWriter(new FileWriter("C:\A.txt"));
            f.write("Hello World");
        }
        catch(IOException e) {
            System.out.println(e);
        }
        finally {
            if (f != null)
                f.close();  
        }
    }
}

您的 class 名为 FileWriter,这与 java.io.FileWriter 的名称冲突。将 class 重命名为其他名称,然后显式导入 java.io.FileWriterjava.io.BufferedWriter classes.

import java.io.FileWriter;
import java.io.BufferedWriter;

我还建议使用更现代的习语:try-with-resources,它会自动为您关闭编写器。它更简洁明了。

public class Example {

    public static void main(String... args) throws Exception {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter("C:\A.txt")) {
            writer.write("Hello World");
        }
    }
}

使用这些步骤。这是使用缓冲写入器的正确且简单的方法。

1.create 文件对象。

File f = new File(C://A.txt);

  1. 创建文件编写器对象。

FileWriter fr = new FileWriter(f);

  1. 创建缓冲写入器。

BufferedWriter bw = new BufferedWriter(fr);

4.then 您可以像下面这样轻松地写入文件。

bw.write("Hello World");

希望对您有所帮助

记得导入

java.io.FileWriter; java.io.BufferedWriter; java.io.IOException;

如果您像 netbeans 一样使用 ide,将自动建议这些包。