关于泽西岛的 StreamingOutput,我有两个问题:
1)它是否已经被 jax-rs 运行时缓冲了?我已经看到了一些在覆盖 write() 方法时从 OutputStream 对象创建 BufferedWriter 的示例。但我想知道这是否真的有必要。
2) Jersey 或 jax-rs 运行时是否在流完成后关闭 OutputStream 对象?
谢谢,
格格
为了获得最高效率,请考虑将 OutputStreamWriter 包装在 BufferedWriter 中,以避免频繁的转换器调用。例如: http ://docs.oracle.com/javase/6/docs/api/java/io/OutputStreamWriter.html
import javax.ws.rs.core.StreamingOutput;
StreamingOutput stream = new StreamingOutput() {
@Override
public void write(OutputStream os) throws IOException,
WebApplicationException {
Writer writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write(msg);
writer.flush();
}
};