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

4
首先,如果此问题已经解释过了,我必须道歉...尽管我进行了搜索以找到解决方法,但是当涉及到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 + ".");
}
}

我并不需要任何人告诉我该做什么,但我希望能得到一点指导或提示,告诉我应该做什么。

如果您能回答我的问题,并附上解释,那将是非常好的。

谢谢。


2
顺便提一下,按惯例Java类名应以大写字母开头。 - orique
4个回答

5
为了保存到文件,您需要创建一个File对象。
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)。那才是真正神奇的地方。所以请花时间学习基础知识,这样您就可以为更深入的学习做好准备。
选择一本综合性的书籍。我推荐一本教材《Java编程导论》(作者:Daniel Liang)。

2
您需要利用java.io.Filejava.io.FileOutputStream(或java.io.FileWriter)来实现。可以从这里开始了解相关内容。代码示例如下(*此处仅为示例,您需要添加异常处理!*):
String input = getInput();
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("myFile")));
writer.write(input,0,input.length());
writer.close();

我再次强调:请阅读API文档 :)


2

您需要打开一个输出文件并向其写入内容。

可能最简单的方法是使用PrintStream,您将熟悉使用System.out作为PrintStream

假设您正在使用Java 7:

try( PrintStream out = new PrintStream( new File( "output.txt" ) ) ) {
    out.println( stuff );
}

通过使用try-with-resources块,当你完成写作后,PrintStreamFile会自动关闭。编辑:并且您已经准备好处理PrintStream(File)可能抛出的FileNotFoundException异常所需的try代码块。请保留HTML标签。

1
最简单的方法是:


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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接