1
 import java.io.*;

public class BufferedReaders {

  public static void main(String args[]) {
    try {
      BufferedWriter bw = new BufferedWriter(new FileWriter("e:/test/exercise/BufferedWriter.txt"));
      java.io.BufferedReader bd = new BufferedReader(new FileReader("e:/test/exercise/BufferedWriter.txt"));    // The constructor BufferedReader(FileReader) is undefined.***Why?Thanks for your answers!!!***
      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();
    }
  }                          
}

コンストラクタ BufferedReader(FileReader) は未定義です。しかし、私は自分の本でコードを見つけてテストを行いました.理由はわかりません.答えてくれてありがとう!

4

2 に答える 2

0

いいえ、そのコードは問題ありません。BufferedReaderが必要です。そのうちの 1 つReaderFileReaderある - それは から派生しInputStreamReader、 から派生しReaderます。

そのコードを Eclipse に入力すると、正常に実行されます。

java.io.FileNotFoundException: e:/test/exercise/BufferedWriter.txt (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:99)
    at java.io.FileWriter.<init>(FileWriter.java:63)
    at Test.main(Test.java:6)

まあ、ファイルを開くことができないという事実を除けば(特にe:私のDebianボックスにドライブがないため)、それは構文エラーではありません。

したがって、別の問題があります。それがコード全体ではない場合BufferedReader、Java の型に干渉する別の型が存在する可能性があります (可能性は低いか悪意がありますが) new

java.io.BufferedReader bd = new java.io.BufferedReader ...
于 2013-03-15T02:19:06.960 に答える
0

あなたのコードを Eclipse にコピーし、インポート ステートメントをいくつか書きます。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedReaders {    
public static void main(String args[]) {
    try {
      BufferedWriter bw = new BufferedWriter(new FileWriter("e:/test/exercise/BufferedWriter.txt"));
      java.io.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();
    }
 }                          
}
于 2015-06-10T18:14:00.107 に答える