【问题标题】:Writing a string and 2D Array to a .txt file - Java将字符串和二维数组写入 .txt 文件 - Java
【发布时间】:2012-03-30 15:26:07
【问题描述】:

我正在尝试将单个字符串和二维数组输出到 .txt 文件中,但遇到了问题,这是我项目的最后一部分。程序应该输出单行,逗号分隔,字符串,然后在下一行,打印出二维数组中的双精度,逗号分隔。我想能够将这全部打印到 .txt 文件中,然后在 excel 文件中打开该 .txt 文件以绘制信息。以下是我目前所拥有的,我知道可能存在比我看到的更多的错误:

 public void writeFile(double[][] array, String filename)
  {
     try{
        File f = new File("output.txt");
        Scanner scan = new Scanner(f);
        scan.useDelimiter("\\s*,\\s*");
        String label = "Algoritm-1, Algorithm-2, Algorithm-3, "
           + "n, n-squared, n-cubed"; //Only one printing of this line

        for (int i = 0; i <= 18; i++)
        {
           for (int j = 0; j <= 5; j++)
           {
              array[i][j] = scan.nextDouble(); //Having the current issue
           }
           scan.nextLine();
        }
     }
        catch (FileNotFoundException fnf) {
           System.out.println(fnf.getMessage());
        }
  }

【问题讨论】:

  • 为什么要从输出文件中读取?这就是你的意思吗?你的代码没有意义
  • 我以为我也看到了,但我想我一定是搞错了......!
  • 您不会在该代码中写入文件。
  • 扫描仪用于从文件中读取,您想要输出到文件中。用谷歌快速搜索 java 文件 i/o 应该会为您提供完成此操作所需的一切。

标签: java string io multidimensional-array


【解决方案1】:

您似乎正在对输出文件使用扫描仪。扫描仪通常用于读取输入文件。打开一个新的输出文件并将数组打印到该文件。

查找 OutputStreamWriter 的示例。这里有一个: http://www.javapractices.com/topic/TopicAction.do?Id=42

建议:你的循环不要使用 18 和 5,你可以使用数组维度的长度吗?

【讨论】:

    【解决方案2】:

    Scanner 用于从文件/流中读取,但您想输出到文件。改用 Writer 类之一(例如 FileWriter,可能与 BufferedWriter 结合使用)

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 2012-09-17
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      相关资源
      最近更新 更多