2011-11-24 9 views
-1
import java.io.File; 
import java.io.InputStreamReader; 
import java.io.BufferedReader; 

public class Rec{ 
    public void txtMod(){ 
    File fileName = new File ("C:\\work\\imput.txt"); 
    BufferedReader in = new BufferedReader (new InputStreamReader(fileName)); 
    ... 
    } 
} 

new InputStreamReader(fileName)は、次のエラーで下線が引かれます: 'コンストラクタInputStreamReaderの(ファイル)がを定義されていません'。どのように定義すればよいですか? newは定義していませんか?コンストラクタはどのように定義しますか?

答えて

8

これはInputStreamReaderを構築するための有効な引数ではありません。 InputStreamを作成し、それをInputStreamReaderに渡す必要があります。

BufferedReader in = new BufferedReader (
         new InputStreamReader(
          new FileInputStream(fileName))); 

ただし、FileReaderを使用することをお勧めします。

Reader in = new FileReader(fileName) 
+0

を使用する場合があります? .... 'charset'も考慮しなければならないと考えていますか? – NoobEditor

2

あなたは少し言い訳を乱しました。 newは、クラスをインスタンス化します。それは何も定義しません。

Stringを受け取るInputStreamReaderのコンストラクタが存在しないというエラーが原因です。しかしながら、FileInputStreamは、結果ストリームをInputStreamReaderに渡すことができます。

関連する問題