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(File)未定义'。我该如何定义它? new
不定义它吗?
答案 0 :(得分:8)
这不是构建InputStreamReader的有效参数。您需要创建InputStream并将其传递给InputStreamReader。
BufferedReader in = new BufferedReader (
new InputStreamReader(
new FileInputStream(fileName)));
但是,最好的方法是使用FileReader。
Reader in = new FileReader(fileName)
答案 1 :(得分:2)
你搞砸了一下你的条款。 new
实例化一个类。它没有定义任何东西。
您的错误是由InputStreamReader
的构造函数没有String
引起的。但是,FileInputStream
确实可以将生成的流传递给InputStreamReader
。
答案 2 :(得分:1)
InputStreamReader不在构造函数中使用File。见:http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html。你想要的可能是FileInputStream。
答案 3 :(得分:1)
在Constructor Summary下,没有构造函数接受参数File。
http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html
您可能想要使用
new InputStreamReader( new FileInputStream( fileName ) )