BufferedReader这个类有readLine()函数,读取时加个计数就行了.LineNumberInputStream这个类还有个int getLineNumber()函数,可以用.不过有些书上写用这个类比较无聊,还不如自己计数方便

解决方案 »

  1.   

    先一行行的读到一个List中,不用预先分配空间。如果非要用String[]的话,可以根据读到的List来构造
      

  2.   

    为什么要用 string数组呢?用容器就很好了。
      

  3.   

    你就read()一下,然后计数器雷加不就可以了?
      

  4.   

    吾已调试,望早日结帖!
    import java.io.*;
    public class HangShu
    {
     public static void main(String args[]) throws FileNotFoundException,IOException
     {
        String[] s=new String[100];
        int i;
        int j;
        FileInputStream is;
        InputStreamReader ir;
        BufferedReader in;
        is=new FileInputStream("文件名.txt");
        ir=new InputStreamReader(is);
        in=new BufferedReader(ir);
        i=0;
        while((s[i]=in.readLine())!=null)
        {   
         System.out.println("Read:  "+s[i]);
         i++;
        }
        System.out.println("The total rows are:"+i);  
       }
    }
      

  5.   

    楼上的,这就算调试过啦,如果“文件名.txt”放的是梁山108将的花名册,每位一行,你的程序能行吗?如果只是要数行数,而不需要得到其内容,只需要一个计数器就可以了
      

  6.   

    恩,虚心接受,同意shine333(shine)
      

  7.   

    还是readline,放到容器里吧。