初学者 Java 任务文件编写器

Beginner Java Task file writer

我正在尝试制作一个 java 程序,将文本附加到现有文档中。这就是它让我得到的:

import java.util.*;
import java.io.*;
public class Main
{
    public main(String args[])
    {
        System.out.print("Please enter a task: ");
        Scanner taskInput = new Scanner(System.in);
        String task = taskInput.next();
        System.out.print(task);

        PrintWriter writer = new PrintWriter("res\tasks.txt", "UTF-8");
        writer.println("The first line");
        writer.println("The second line");
        writer.close();
    }

}

我有一些错误,不知道如何解决。我查看了 Bufferedwriter,但我不知道它是如何使用的,是的,我查看了 java 文档。 C++ 几乎没有这么复杂。再一次,我想知道如何让程序将文本追加到现有文件中。它应该足够高效才能制作成应用程序。有什么好的资源可以教如何 write/append/read 文件吗? javadoc 不是为我做的。

Java 中的 main() 方法必须具有以下签名

public static void main(String[] args)

如果没有如上声明的方法,JVM 将无法 运行 您的程序。而且,就像您关闭 PrintWriter 一样,您也需要关闭 Scanner

我建议你在深入研究文件 I/O 之前了解 Java 的基础知识,因为这个 API 也会抛出很多已检查的 Exceptions 并且对于某些人这是 Java 的新功能,对于 try catchthrows 正在做的事情会非常混乱。

试试这个,

PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("tasks.txt", true)));

以下应该有效:

public static void main(String[] args) {
        try{
            Formatter out = new Formatter("fileName.txt");
            out.format("Write this to file");
            out.close();
        } catch (Exception e) {
            System.out.println("An error occurred");
        }
    }

这是使用 Formatter 对象创建文件(如果它尚不存在),然后您可以使用方法 "format" 就像使用任何打印方法写入文件一样。 try 和 catch 是编译它所必需的 b/c Formatter 的构造函数 class 抛出必须捕获的异常。除此之外,只需确保输入: import java.util.Formatter;在文件的开头。

顺便说一句,C++ 并不比 Java 简单,哈哈。干杯。