我在课堂上有这两种方法:
public SimpleTreeWriterImpl(PrintStream out) {
outStream = out;
}
@Override
public void setDestination(PrintStream output) {
outStream = output;
}
但现在我需要设置outStream来打印到文本文件,但是我不知道如何做到这一点,我尝试将File
对象传递给setDestination()
方法,但是它说这些是不兼容的类型。
如何将目的地设置为特定的文本文件?
答案 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));