Java读取文本文件

时间:2012-07-27 06:42:06

标签: java arrays file io

我正处于编码实验的中间,通常情况一直顺利,直到最后一部分。我真的不知道从哪里开始这个子问题,它真的强调我像你不能相信。我已经尝试过只会遇到错误。这是一个真正的挫折,因为它之前的一切都很顺利。这只是我不知道从哪里开始,即使在阅读了一些教程之后,我仍然遇到了让它正常工作的一些重大问题。

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

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

所以我们有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个数组,但我遇到的麻烦是读取文本文件并编写它以便相应的列进入相应的数组。

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

2 个答案:

答案 0 :(得分: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 

  }

答案 1 :(得分:2)

您可以查看this示例,其中显示了如何在不使用Scanner类的情况下遍历文件。您已阅读该行,您可以使用.split(String regex)将行拆分为令牌。由于所有部分都用逗号分隔,因此您可以使用以下代码:line.split(",");,其中line表示您刚从文件中读取的行。

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

以上应该做你需要的。但是,您可以查看JavaCSV,它也可以帮助您完成所需的操作:

  

Java CSV是一个用于阅读和阅读的小型快速开源Java库   编写CSV和普通分隔文本文件。