从文件中读取问题

时间:2011-06-18 10:23:24

标签: java file-io

所以我试图从文件中读取多行,然后将它们放在String []中。但它似乎没有用。我做错了什么?

     String[] liniiFisier=new String[20];
    int i=0;
    try{
          FileInputStream fstream = new FileInputStream("textfile.txt");
          DataInputStream in = new DataInputStream(fstream);
          BufferedReader br = new BufferedReader(new InputStreamReader(in));
          String strLine;
          while ((strLine = br.readLine()) != null)   {
              liniiFisier[i]=strLine;
              i++;
          }
          //Close the input stream
          in.close();
            }catch (Exception e){//Catch exception if any
          System.err.println("Error: " + e.getMessage());
            }
            for(int j=0;j<i;j++)
                System.out.println(liniiFisier[i]);    

2 个答案:

答案 0 :(得分:3)

将最后一行更改为

System.out.println(liniiFisier[j]);  // important: use j, not i

答案 1 :(得分:1)

你应该告诉我们发生了什么以及发生了什么问题。

但我看到一些错误:

  1. 想象一下,您的文件超过20行,因此您将尝试访问liniiFisier[20],但此字段不存在! ArrayIndexOutOfBounds
  2. 中的结果
  3. for循环中,您正在迭代j,但始终使用i ...
  4. 创建BufferedReader可以用更少的代码完成:
  5. FileReader fr = new FileReader ("textfile.txt");
    BufferedReader br = new BufferedReader (fr);
    

    由于我不知道你的具体问题,这可能无法解决,所以请提供更多信息; - )