2016-10-23 2 views
-3

Java에서 BufferedReader를 사용하여 내 문서 폴더에서 ASCII 문자의 hello.txt 파일을 읽으려고합니다.BufferedReader 오류

import java.io.BufferedReader; 
import java.io.FileInputStream; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

public class Test { 
public static void main(String[] args) throws Exception { 

    String thisLine = null; 
    try{ 
    // open input stream test.txt for reading purpose. 
    BufferedReader br = new BufferedReader("c:/hello.txt"); 
    while ((thisLine = br.readLine()) != null) { 
     System.out.println(thisLine); 
    }  
    }catch(Exception e){ 
    e.printStackTrace(); 
    } 
} 
} 

나는 다음과 같은 오류 얻을 :

Test.java:12: error: incompatible types: String cannot be converted to Reader 
    BufferedReader br = new BufferedReader("c:/hello.txt"); 
              ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to   get full output 
1 error 

내가 잘못의 BufferedReader의 인수를 쓰고 있어요 가정을,하지만 난 정확히 무엇 확실하지 않다?

+0

[의 BufferedReader (https://docs.oracle.com/javase/8/docs/api /java/io/BufferedReader.html) –

+4

'String'을 매개 변수로 사용하는'BufferedReader'의 생성자가 없습니다 – ortis

+0

'java.nio.file.Files.newBufferedReader (Paths.get ('c : /hello.txt '))'. – SimY4

답변

3

BufferReaderString이 아니라 인수로 Reader을 취합니다. 같은 그런 생성자가 없습니다

BufferedReader(Reader in, int sz) 
BufferedReader(Reader in) 

Java official doc 가능한 생성자가에서

, 당신은 다음과 같이 뭔가를 할 필요가

BufferedReader(String s) 

,

BufferedReader br = new BufferedReader(new FileReader("c:\hello.txt")); 

또는 ,

File f = new File("c:\hello.txt"); 
BufferedReader br = new BufferedReader(new FileReader(f)); 
-2

당신은

BufferedReader br = new BufferedReader(new FileReader("c:/hello.txt")); 

BufferedReader로 아래를 사용할 수는 인수로 리더, 따라서 오류를 기대

+1

'BufferedReader'는'Reader'를 인수로 기대합니다. – EJP