【问题标题】:How to make an array from a text file如何从文本文件中创建一个数组
【发布时间】:2014-08-30 18:53:39
【问题描述】:

首先让我说我是一个相当新的 Java 程序员,我想要尝试的东西有点过头了。所以特地来这里学习一下。

好的,问题来了:我正在尝试构建一个从文本文档中的值生成二维数组的程序。文本文档有三列和多行(100+)......基本上是一个 [3][i] 数组。

这是我能做的:我了解如何使用 bufferedReader 读取文本文件。这是我的一个示例程序,它可以准确地打印文本在文本文件中的外观(对于格式错误,我提前道歉;这是我第一次在这些论坛上):

import java.io.BufferedReader;
import java.io.FileReader;

public class Main {
  public static void main(String[] args) throws Exception {

    BufferedReader br = new BufferedReader(new FileReader("RA.txt"));

    String line = null;


    while ((line = br.readLine()) != null) {
      String[] nums = line.split(",");



      for (String str : nums) {
        System.out.println(str);

      }


    }
    br.close();
  }
}

这是打印出来的:

00 03 57.504 02 04 03.796 00 06 03.386 03 17 43.059 00 52 49.199 05 52 49.555

等等等等

请帮助我创建一个包含值的数组。谢谢!

【问题讨论】:

  • 如果您事先不知道您将拥有多少行数据,则需要使用数组列表数组。另外,我相信您可以找到一些教程来帮助您。 Stack Overflow 是一个问答网站,而不是教程网站。请参阅SO Help File 了解更多信息。

标签: java arrays text bufferedreader


【解决方案1】:

在你的while循环之外定义一个列表

List list = new LinkedList();

在您的 while 循环中,将拆分后的数组添加到列表中,例如

list.add(line.split(","));

在 while 循环之后将您的列表转换为数组,从而生成一个二维数组:

Foo[] array = list.toArray(new Foo[list.size()]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多