【问题标题】:How do you write multiple variables to a text file? [closed]如何将多个变量写入文本文件? [关闭]
【发布时间】:2020-01-05 20:14:14
【问题描述】:

我是一名初级程序员,我有一个关于 iostreams 的问题。 最近我学会了如何使用 PrintWriter 将字符串或变量写入文本文件。现在我正在创建一个小程序,但我需要输出多个变量。我是否需要为每个变量创建一个不同的文件,或者我可以将所有变量输出到一个文本文件?如果是这样,我如何将它们读回我的程序中。

//write
static File data = new File ("data.txt");
static PrintWriter outputStream = new PrintWriter(data);
outputStream .println("test");
outputStream .close();

//read
Scanner inputStream = new Scanner(data);
String test = input.nextLine();

【问题讨论】:

  • 只需将所有变量写入 for 循环,然后使用 .close()
  • 是的,但是你如何阅读它并将每一行放在正确的变量中
  • 你的变量是什么?您必须在问题中添加它们。

标签: java iostream


【解决方案1】:

如果不查看变量以及尝试使用它们做什么,则无法 100% 确定您正在尝试做什么。如果您只是希望能够将多个字符串写入和读取到一个文件中,您可以像这样手动将所有内容输出到一个文件中:

    outputStream.println("test1");
    outputStream.println("test2");
    outputStream.println("test3");
    outputStream.close();

要逐行阅读,只需这样做

    while (scanner.hasNextLine()) {
        System.out.println(scanner.nextLine());
    }

既然您提到您将它们存储为变量,那么根据场景您可以使用某种类型的 Collections 类,例如一个 ArrayList 或 HashMap。

    // add all strings from each new line to an ArrayList 
    while (scanner.hasNextLine()) {
        varArray.add(scanner.nextLine());
    }
    // close your streams
    scanner.close();

    // iterate the ArrayList and print all values
    for (String var : varArray) {
        System.out.println(var);
    }

    // grab value by its index in the ArrayList
    System.out.println("Get variable from index 2: " + varArray.get(2));

在任何情况下,除非您可以依赖字符串写入文件的顺序,否则您需要有一些条件才能返回您想要的。这将按照插入的顺序将它们全部打印出来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多