import java.io.*;public class BufferedReader {
public static void main(String args[]){
         try
         {
 BufferedWriter bw = new BufferedWriter
          (new FileWriter("e:/test/exercise/BufferedWriter.txt"));
 BufferedReader bd = new BufferedReader
          (new FileReader("e:/test/exercise/BufferedWriter.txt"));
         String s = null;
         for(int i = 0;i < 10;i ++){
          s = String.valueOf(Math.random());
          bw.write(s);
          bw.newLine();
         }
 bw.flush();
         while((s = bd.readLine()) != null){
          System.out.print(s);
         }
              bw.close();
  bd.close();
         }
catch (IOException e) { e.printStackTrace();}
}
}调试的结果是   FileReader构造器无法应用上。
不能理解,它的构造参数可以是文件名吧,怎么应用不上呢?导致后面的readline()也用不上,新人真心求教,谢谢!

解决方案 »

  1.   

    同一个文件啊老大, 至少要bw.close()之后再new bd吧
      

  2.   

    我曾经换过一个文件给FileReader,还是这么个错误。这个是尚学堂的一个例子程序。
    Eclipse一直提示我把FileReader的参数清空
      

  3.   

    public class BufferedReader这里的  BufferedReader  名字与  java.io.BufferedReader 重复,改个名字。
      

  4.   

    楼主我知道了.. 你先把测试的类名换一下吧, 
    或者这样:public class BufferedReader {  public static void main(String args[]) {
        try {
          BufferedWriter bw = new BufferedWriter(new FileWriter("e:/test/exercise/BufferedWriter.txt"));
          java.io.BufferedReader bd = new java.io.BufferedReader(new FileReader("e:/test/exercise/BufferedWriter.txt"));
          String s = null;
          for (int i = 0; i < 10; i++) {
            s = String.valueOf(Math.random());
            bw.write(s);
            bw.newLine();
          }
          bw.flush();
          while ((s = bd.readLine()) != null) {
            System.out.print(s);
          }
          bw.close();
          bd.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
      

  5.   

    谢谢,只是我改了名字之后,Eclipse是这么报错的:The constructor BufferedReader(FileReader) is undefinedCMD窗口是这么报的:BufferedReaders.java:9: 错误: 无法将类 FileReader中的构造器 FileReader应用到给定类型;
      

  6.   

    su哥,还是The constructor BufferedReader(FileReader) is undefined
      

  7.   

    你这个类名就叫 BufferedReader ,BufferedReader bd = new BufferedReader(new FileReader("e:/test/exercise/BufferedWriter.txt")); 你这里用的其实就是自己的类,没有掉用到import java.io.BufferedReader; 这个,所以只需要换一个类名,然后就好了,试试吧!!
      

  8.   

    楼主你好!我照你的程序调试了,只是把你的类名称改了一下,因为这个与 java.io.BufferedReader相同,之后我运行就没有问题了啊 
      

  9.   

    楼主可能是你把类名改了但是java文件名没改过来
      

  10.   


    我去StackOverFlow问,有个朋友说,他电脑上也能运行。让我加了java.io.BufferedReader,还是这么个,Java名字后面我加了个s
      

  11.   

    加了之后程序肯定能运行了, 还是显示红线可能是eclipse的问题, 你直接运行一下试试?
    我出爱莫能助了