println会向缓冲区输出内容,并在内容后输出一个换行符。将内容作为一行输出到另一端。write只是向缓冲区输出内容。没有换行符。而print方法则跟write一样,只是将null转换为字符串'null'。
即:writer.println("msg") == writer.write("msg"); + writer.write("\n") ; 如果用write()方法输出内容并flush后,用在IO的另一端用readline来读取内容,会阻塞IO、阻塞线程。 如果用println()方法输出内容并flush后,IO另一端的readline则会读到内容。 |