2011-11-24 68 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

你寧願'FileReader'或'BufferedReader'用於讀取文件? ....考慮到'charset'也必須牢記在心? – NoobEditor

2

你搞砸了你的條款了一下。 new實例化一類。它沒有定義任何東西。

您的錯誤是由於InputStreamReader沒有構造函數需要String。然而,FileInputStream會產生流,然後可以將結果流傳遞給InputStreamReader