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

时间:2013-11-08 13:47:07

标签: java file-io input

首先,如果已经解释过,我必须道歉...虽然我已经完成搜索以找到问题的答案,但在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 + ".");
}
}

我并不是真的在寻找任何人告诉我该做什么,我会欣赏的只是一些指导或线索,我应该做什么。 如果你确实给我一个答案,那么解释它的工作原理会很好。

谢谢。

4 个答案:

答案 0 :(得分: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(输入/输出)为时尚早。你应该学习loops, arrays, methods, operators, if/else if statements, Strings, etc。所有的基础知识。完成基础知识后,您就可以进入面向对象编程(OOP)了。这就是真正的魔法发生的地方。所以花点时间学习基础知识,这样你就可以为更深层的东西做好准备。

拿起一本全面的书。我推荐一本教科书Introduction to Java Programming by Daniel liang

答案 1 :(得分:2)

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

String input = getInput();
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("myFile")));
writer.write(input,0,input.length());
writer.close();

我不能这么说:阅读API:)

答案 2 :(得分:2)

您需要打开输出文件并写入。

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

假设您使用的是Java 7:

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

通过使用try-with-resources块,PrintStreamFile会在您完成写入后自动关闭。编辑:您已经有try来处理FileNotFoundException可能会抛出的PrintStream( File )

答案 3 :(得分: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
}