java - 如何将多个变量写入文本文件?

标签 java iostream

我是一名初学者程序员,我有一个关于 iostream 的问题。 最近我学习了如何使用 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();

最佳答案

在没有看到变量的情况下,不能 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));

无论如何,除非您可以依赖字符串写入文件的顺序,否则您将需要一些条件来返回您想要的字符串。这只会按照插入的顺序打印它们。

关于java - 如何将多个变量写入文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57762911/

相关文章:

Java正则表达式包含搜索

c++ - 意外的字符串流行为

C++;使用字符串 getline() 不适用于文件输入

java - 递归必须解析为类型,但我不知道如何构造它?

java - 如何通过匹配已知的关键字集来提取子字符串

java,如何在spark 1.4.1中调用UDF

c++ - 使用 GCC 4.2.1 在 C++ 中将 char 输出为十六进制流

C++ 如何将数组的最后 4 个字符转换为整数?

c++ - Segmentation Fault (Core Dumped) 从文件读取后

java - 如何在棋盘游戏中使用循环编写更短的代码