Java 将多个用户输入保存到文本文件

Java 将多个用户输入保存到文本文件,java,file-io,input,Java,File Io,Input,首先,我必须道歉,如果这已经被解释。。。虽然我已经通过搜索找到了问题的答案,但对于Java,我还是一个新手,所以我无法真正理解。(我学Java才几天。) 我的朋友正试图教我Java,他给我布置了我必须完成的作业,我应该学习我自己完成这些作业需要做什么。 最近,他给了我一个挑战:创建一个程序,要求用户输入姓名、年龄和用户名。然后这个程序需要在一个句子中输出这些内容。那部分很简单。 我遇到的困难是下一部分,我必须让程序将这些内容保存到一个文件中,以及用户将来的任何输入 以下是我所拥有的: impor

首先,我必须道歉,如果这已经被解释。。。虽然我已经通过搜索找到了问题的答案,但对于Java,我还是一个新手,所以我无法真正理解。(我学Java才几天。)

我的朋友正试图教我Java,他给我布置了我必须完成的作业,我应该学习我自己完成这些作业需要做什么。 最近,他给了我一个挑战:创建一个程序,要求用户输入姓名、年龄和用户名。然后这个程序需要在一个句子中输出这些内容。那部分很简单。 我遇到的困难是下一部分,我必须让程序将这些内容保存到一个文件中,以及用户将来的任何输入

以下是我所拥有的:

import java.util.Scanner;

public class easy1 
{

@SuppressWarnings("resource")
public static void main(String[] args)
{
    System.out.println("Enter your name, age and username: ");
    Scanner sc = new Scanner(System.in);

    String name = sc.next(), age = sc.next(), user = sc.next();

    System.out.println("Your name is " + name + ", you are " + age + " years old, and your username is " + user + ".");
}
}
我并不是真的在寻找任何人来告诉我该做什么,我会很感激的只是一点指导或一个关于我应该做什么的线索。 如果你给我一个答案,那么解释一下它是如何工作的就好了


谢谢。

您需要点击
java.io.File
java.io.FileOutputStream
(或
java.io.FileWriter
)。开始它看起来像这样(*这还不完整--您需要异常处理!)


我说的还不够:阅读API:)

要保存到文件,您需要创建一个
文件
对象

File file = new File("someFile.txt");   -- takes file name as argument.  
然后需要一种打印到文件的方法。您可以使用
PrintWriter

PrintWriter writer = new PrintWriter(file);  -- takes file as argument.
要写入文件,只需使用
PrintWriter write()
方法

writer.write(name);
如果你只是在第二天学习,告诉你的朋友现在学习I/O(输入/输出)还为时过早。您应该学习
循环、数组、方法、运算符、if/else if语句、字符串等
。所有的基础。完成基础知识后,就可以开始面向对象编程(OOP)。这才是真正神奇的地方。因此,花点时间学习基础知识,这样你就可以准备好进行更深入的学习了


拿起一本综合性的书。我推荐一本由Daniel liang编写的教科书《Java编程入门》

,您需要打开一个输出文件并对其进行写入

可能最简单的方法是使用
PrintStream
,您将熟悉它作为
系统使用。out
PrintStream

假设您使用的是Java 7:

try( PrintStream out = new PrintStream( new File( "output.txt" ) ) ) {
    out.println( stuff );
}
通过使用try with resources块,在您完成编写后,
PrintStream
文件将自动关闭。编辑:您已经准备好了
try
来处理
FileNotFoundException
,该
PrintStream(File)
表示它可能抛出该异常。

最简单的方法是:

try (
    PrintWriter out = new PrintWriter("output.txt", "UTF-8");
    Scanner sc = new Scanner(System.in);
) {

    // Read input using sc

    // Output to out, e.g.
    out.println("Your name is " + name + ".");

} catch(IOException e) {
    // Manage the exception
}

作为旁注,按照惯例,Java类名应该以大写字母开头。
try (
    PrintWriter out = new PrintWriter("output.txt", "UTF-8");
    Scanner sc = new Scanner(System.in);
) {

    // Read input using sc

    // Output to out, e.g.
    out.println("Your name is " + name + ".");

} catch(IOException e) {
    // Manage the exception
}