如何将文件中的信息存储到变量中?

时间:2017-04-01 00:17:17

标签: java

这是我一直遇到麻烦的任务的一部分。从我的谷歌搜索,我想我必须拆分阵列,我已经到了我现在的地步。

程序读取文本文件并将其中的文本输出到控制台。然后它要求用户输入与文本文件相关的名称。 然后它再次读取文件,接下来发生的是可变功率,根据文本文件的输入存储一个数字。

当我运行我的代码时,文本文件输出并询问输入。然后什么也没发生应该发生的是我的变量功率应该输出我名为g的数组的索引2中的值,该值应该是基于我的文本文件的10。

我的文字文件的组织方式如下:

电源

10

我希望我的int power存储10,我认为这将在索引2中。 和字符(变量)是他们在被询问时输入的名称,在本例中是巨人。

我是java的初学者,感谢任何帮助。

编辑:现在这个问题已经解决了,不知道它是否有效,因为我“修复”了这个问题,发生了一个ArrayIndexOutofBoundsException:2。任何想法为什么??此错误位于第46行,即int power = Integer.parseInt(g [2]);

while ((line = creatureRead.readLine()) != null)
{
  String[] g = line.split(" ");
  for (int index = 0; index < g.length; index++)
  {

    if (character.equals("Giant"))
    {
    int power = Integer.parseInt(g[2]);
    System.out.println(power);
    }
  }
      creatureRead.close(); 
}
}

catch (IOException e)
{
 e.printStackTrace();
}

2 个答案:

答案 0 :(得分:0)

根据我的理解,这是您的计划的运作方式:

  1. 读取文件并以其形式将其内容显示到控制台 [生物]力量[力量值]
  2. 用户输入[生物]
  3. 程序应显示该生物的[力量值]
  4. 我的猜测是你必须结束文件,这就是你无法从中读取的原因。 1)关闭文件并在3)中打开它。如果情况不是这样,请告诉我。

答案 1 :(得分:0)

我有同样的问题Read a text file line by line into strings,解决方案很简单:

List<String> lst = Files.readAllLines(Paths.get("C:\\test.txt"));

并且您可以非常类似于访问数组值的方式访问这些值:

lst.get(0); //Creature
lst.get(1); //Power
lst.get(2); //10