import java.io.*;
public class BufferedFileReaderExample
{
public static void main(String[] args)
{
try
{
FileReader frder=new FileReader(args[0]);
BufferedReader bfrder=new BufferedReader(frder);
String line;
int number=0;
line=bfrder.readLine();
while(line!=null)
{
number+=1;
System.out.println(line);
line=bfrder.readLine();
}
bfrder.close();
System.out.println("此文本共有:"+number+"行!");
}
catch(IOException e)
{
//System.out.println(e);
}
}
}

解决方案 »

  1.   


    楼主这句话有问题的:
    FileReader   frder=new   FileReader(args[0]); 
    会抛出异常的,你将args[0]改为真正的文件名.例如:"D:\\patch_for_work.txt"
      

  2.   

    没问题的,是用来读取用户输入的,只要在dos下运行时输入java BufferedFileReaderExample test.txt
      

  3.   

    晕 其实FileReader frder=new FileReader(args[0]);应该不算是问题吧 
    LS说的对啊
    另外在eclipse中 找到要执行的文件 右键->run as->run->arguments 里面写上参数就行了 比如test.txt
      

  4.   

    args是个参数数组,传个文件名参数就可以用args[0]了
      

  5.   

    great,great,great
    七楼说到了我的心垲里了!我就是这个意思,但编译死活不通过!
    总抛出错误!
    望指教一二!!诸位
      

  6.   

    代码写得可不一般啊 这种时候不用do-while可惜了。在用args前,要检查length。bfrder.close(); 应该放到finally里面。最后就是命名方式了,FileReader fr , that's OK.不要在文件中写中文。你知道你这些代码在Linux,Emacs,MAC OS X上看到了都是什么啊?
      

  7.   

    注意! args[0]是一个字符, bfrder.readLine() 是读取一行字符串
      

  8.   

    //修改了下
    import java.io.*;
    public class BufferedFileReaderExample
    {
    public static void main(String args[])
    {
    try
    {
    FileReader fr=new FileReader(args[0]);
    BufferedReader br=new BufferedReader(fr);
    String line;
    int number=0;
    line=br.readLine();
    do
    {
    number+=1;
    System.out.println(line);
    line=br.readLine();
    }
    while(line!=null);
    System.out.println("This file total"+number+"lines!");
    }
    catch(IOException e)
    {
    System.out.println(e);
    }
      finally
    {
    br.close();
    }
    }
    }