繁体   English   中英

如何定义构造函数?

[英]How do I define the constructor?

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定义吗?

那不是构造InputStreamReader的有效参数。 您需要创建InputStream并将其传递给InputStreamReader。

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

但是,执行此操作的最佳方法是使用FileReader

Reader in = new FileReader(fileName)

你把条款弄乱了。 new 实例化一个类。 它没有定义任何东西。

您的错误是由于以下事实造成的: InputStreamReader没有采用String构造函数。 但是, FileInputStream ,然后可以将结果流传InputStreamReader

InputStreamReader在构造函数中不使用File。 请参阅: http : //docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html 您想要的可能是FileInputStream。

在“构造函数摘要”下,没有使用参数File的构造函数。

http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html

您可能要使用

new InputStreamReader( new FileInputStream( fileName ) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM