FileInputStream fstream = new FileInputStream("data.txt");

// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);

BufferedReader br = new BufferedReader(new InputStreamReader(in));

String strLine;
//Read File Line By Line

while ((strLine = br.readLine()) != null)
  {
    //Test if it is a line we need
    if(strLine.charAt(0) != ' ' && strLine.charAt(5) == ' '
       && strLine.charAt(10) == ' ' && strLine.charAt(15) == ' '
       && strLine.charAt(20) == ' ' && strLine.charAt(25) == ' ' )
      {
        System.out.println (strLine);
      }
  }


我正在读取包含空白行(不仅是空白行)的文件,并比较某些索引处的字符以查看是否需要该行,但是当我在空白行中读取时,我得到的字符串索引超出范围。

最佳答案

例如,如果该行的长度为0,并且您试图确定位置10处的字符,那么您将获得异常。在处理它之前,只需检查一下行是否全部为空白。

if (line != null && line.trim().length() > 0)
{
   //process this line
}

09-28 04:00