这是我的代码:

import java.io.*;
public class WrappedWriter extends PrintWriter {
  public WrappedWriter(OutputStream o){
    super(o);
  }

  public WrappedWriter(File f) throws FileNotFoundException{
    super(f);
  }

  public WrappedWriter(String s) throws FileNotFoundException{
    super(s);
  }
}


如您所见,该类正在扩展PrintWriter。在WrappedWriter类中,我继续创建一个字符串,该字符串可以打印到终端或写入文件。有人告诉我,为了将其写入文件,我必须在此处向第二个和第三个构造函数中插入一些内容。我已经放置了super()以便调用父类,但是我试图找出如何编写字符串,最后通过在构造函数中键入代码来到达File f。谁能指出我正确的方向?当我以交互方式输入某些输入时,应该发生以下情况。

 WrappedWriter out = new WrappedWriter(System.out)
 out = new WrappedWriter("gettysburg.txt");
 out.println("Four score and seven years ago our fathers brought forth, upon this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.")
 out.close();


键入out.close后,应该将字符串写入文件gettysburg.txt中,但是没有这样做。

最佳答案

有人告诉我,为了写入文件,我必须在第二个和第三个构造函数中插入一些内容


您被误导了。这些构造函数都将导致编写器将其写入文件。请参阅Javadoc for PrintWriter。

09-28 04:44