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 + ".");
}
}

我并不是真的在寻找任何人来告诉我该做什么,我会感激的只是一点指导或关于我应该做什么的线索。如果您确实给了我答案,那么解释一下它的工作原理会很好。

谢谢你。

4

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

拿起一本综合性的书。我推荐一本教科书Introduction to Java Programming by Daniel liang

于 2013-11-08T13:54:32.070 回答
2

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

可能最简单的方法是使用 a PrintStream,您将熟悉使用 as System.outis a PrintStream

假设您使用的是 Java 7:

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

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

于 2013-11-08T13:57:24.933 回答
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 :)

于 2013-11-08T13:54:04.277 回答
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
}
于 2013-11-08T14:29:42.507 回答