将PrintStream对象设置为文件写入器

时间:2015-03-03 12:44:40

标签: java

我在课堂上有这两种方法:

 public SimpleTreeWriterImpl(PrintStream out) {
    outStream = out;
}

@Override
public void setDestination(PrintStream output) {
    outStream = output;

}

但现在我需要设置outStream来打印到文本文件,但是我不知道如何做到这一点,我尝试将File对象传递给setDestination()方法,但是它说这些是不兼容的类型。

如何将目的地设置为特定的文本文件?

2 个答案:

答案 0 :(得分:0)

试试这个:

PrintStream writetoEngineer = new PrintStream(new FileOutputStream("Engineer.txt", true)); 

答案 1 :(得分:0)

错误告诉您File不是PrintStream。您的setDestination()方法只会使用PrintStream类型的对象。因此,您需要实例化PrintStream对象(或PrintStream的子类)

查看PrintStream api,我们发现您可以construct a Prinstream directly from a String filename。对于(至少)Java版本6,7和8都是如此。因此,您需要调用方法setDestination,如下所示:

setDestination(new PrintStream("path/to/your/output/file.txt"));

注意 - Prinstream也有constructor that takes a File object,因此如果您正在处理File对象而不是String文件名,请使用以下内容:< / p>

setDestination(new PrintStream(yourFileObject));