请求前辈们解惑,代码如下:import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class P { public static void main(String[] args) {
try { ServerSocket ss = new ServerSocket(8001);
Socket s = ss.accept();
OutputStream outs = s.getOutputStream();
InputStream ins = s.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(ins));
String line = br.readLine();
System.out.println(line);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(outs)); BufferedReader br1 = new BufferedReader(new FileReader(line)); String line1 = br1.readLine();
while (line1 != null) {
pw.println(line1);
line1 = br1.readLine();
}
pw.close();
br.close(); s.close();
ss.close();
} catch (Exception e) {
throw new RuntimeException("出错" + e);
}
}
}实现功能:  关于网络编程的实验。在eclipse下运行,打开命令行,输入telnet localhost 8001,回车后,按ctrl + ]键,再回车,然后输入本地一个文本文件的一个路径,回车,能显示此文件的内容。
问题描述:  上述代码能够实现以上描述,但是若将pw.close();与br.close();互换,则显示不了文件内容,此种情况若将PrintWriter pw = new PrintWriter(new OutputStreamWriter(outs));一句改为PrintWriter pw = new PrintWriter(new OutputStreamWriter(outs),true);则也能达到想要的效果。
附加: 小弟对上述情况理解不了,还请知道的各位不吝赐教,再次感谢!