这个叫方法重载。 为了调用方便,而使用不同方法(构造)参数。
具体你可以查看他的源码。 里面实现是一样的。
只是 new PrintWriter("D:\\b.txt"); 是类的内部帮你封装成 OutputStream
JDK 源码:
outputStream 参数构造
public PrintWriter(OutputStream out){
this(out,false);
}
String 参数构造:
public PrintWriter(String fileName) throws FileNotFoundException {
this( new BufferedWriter( new OutputStreamWriter( new FileOutputStream (fileName) )),false )
}
他的作用本身就是为了使用方便。 看你怎么使用方便, 就可以用哪种构造。
没区别,只能可以让你传入不同参数,使用时候看具体情况传入参数的方便