File file = new File("d:/websrc/test.xml");                          
BufferedReader reader = new BufferedReader (new FileReader(file));   
int size = 0;                                                        
while(reader.readLine()!=null){                                      
size ++;                                                         
}                                                                    
System.out.println("共"+size+"行");                                   

解决方案 »

  1.   

    如果文件内容在String中,还可以这样做:
    import java.util.*;  StringTokenizer sLine;//StringTokenizer,行
      sLine = new StringTokenizer(文件内容,"\n");//由换行符分隔
      int countLine = sLine.countTokens();//获得行数
      sLine.nextToken();//以行为单位取数据
      

  2.   

    搞那么复杂干啥,这些类只是方便一些特殊的应用,
    常用的类就可以实现,try {
        String str=null;
        int line=0;
        BufferedReader in=new BufferedReader(new FileReader(new File("www.txt")));
        while ((str=in.readLine()) != null) {
            line++;
        }
    }catch (IOException e) {}
      

  3.   

    to up:    我试过类似方法,可是程序会出现死循环。应该是size++并没有使当前行数前移吧!
    怎么使size++时当前行也前移?
      

  4.   

    为什么下面这段程序执行时会死掉:(已经编译通过)
         import java.io.*;
    public class Test1 
    {
     public static void  Head1(InputStream from_name) throws IOException{
    LineNumberReader lineReader = new LineNumberReader(
      new InputStreamReader(from_name));
    String currentLine;
    int charCount = 0; while ((currentLine = lineReader.readLine()) != null) {
         charCount++;
    }
    System.out.println(charCount);
     }
    public static void main(String[] args) 
    {
    if (args.length != 1)    // Check arguments 
                System.err.println("Usage: java FileCopy <source> ");
            else {
                // Call copy() to do the copy; display any error messages
                try { Head1(System.in); }
                catch (IOException e) { System.err.println(e.getMessage()); }
    }
    }
    }应该还是在while()中死掉了 吧
      

  5.   

    String strsub[] = str.split("\r");
    System.out.println("the line number is : " + strsub.length-1);
    其中str是文件的内容。(全部)