1

我正在进行编码实验,通常一切都很顺利,直到最后一部分。我真的不知道从哪里开始这个子问题,这真的让我感到压力很大,就像你无法相信的那样。我已经尝试了一次又一次的错误。这是一个真正令人沮丧的事情,因为在它之前和之后的一切都很顺利。只是我不知道从哪里开始,即使在阅读了一些教程之后,我仍然无法让它正常工作。

基本上,我必须阅读这个 txt 文件(http://www.mediafire.com/?a6d7c0c5cdu1gup)并将数据放入 5 个数组(没有扫描仪)

Name 必须进入 Name 数组,N/Y 必须进入 Before 数组,下一列数字必须进入 timespent 数组,下一列必须进入 assistants 数组和最后一行必须进入风险阵列。

所以我们有5个数组

String Name [] = new String [20)

Char Before [] = new Char [20]

Int timeSpent [] = new Int [20]

Int Assistants [] = new int [20]

Double Risk [] = new Double [20]

所以这些是我制作的 5 个数组,但我遇到的问题是读取文本文件并将其写入,以便适当的列进入适当的数组。

因此,将我的代码放在一起并将这些值放入适当的相应数组以便我可以继续的任何帮助将非常非常感激。非常感谢。

4

2 回答 2

3

使用 BufferedReader 逐行获取并使用正则表达式拆分

  File file = new File("1.txt");
  FileReader fr = new FileReader(file);
  BufferedReader in = new BufferedReader(fr);
  String line;
  while ((line = in.readLine()) != null){
      String[] record = line.split(",\\s*");  
      // record[0] contain name
      // record[1] contain N/Y etc.. 
      //* code here 

  }
于 2012-07-27T06:58:25.010 回答
2

你可以看一下这个例子,它展示了如何在不使用Scanner类的情况下遍历文件。如果您已阅读该行,则可以使用 将.split(String regex)行拆分为标记。由于所有部分都用逗号分隔,因此您可以使用以下代码:line.split(",");,其中line表示您刚刚从文件中读取的行。

split函数产生一个数组,因此您可以遍历它并将数据放入您选择的正确数组中。

以上应该做你需要的。但是,您可以查看JavaCSV,它也应该可以帮助您做您需要的事情:

Java CSV 是一个小型快速开源 Java 库,用于读取和写入 CSV 和纯分隔文本文件。

于 2012-07-27T06:49:04.370 回答