Вы не можете использовать их обоих одновременно.Если вы сначала сделали getOutputStream()
, вы не можете, следовательно, в том же запросе выполнить getWriter()
и наоборот.Тем не менее, вы можете обернуть ServletOuptputStream
в PrintWriter
, чтобы получить тот же тип писателя, что и у getWriter()
.
ServletOutputStream out = response.getOutputStream();
// Notice encoding here, very important that it matches that of
// response.setCharacterEncoding();
PrintWriter writer = new PrintWriter(new OutputStreamWriter(out, "utf-8"));
Еще одно решение не использовать getWriter()
- это использовать PrintStream
, что несколько похоже, но тогда у вас нет совместимости типов с Writer
или PrintWriter
.
// Encoding again very important to match that of your output.
PrintStream print = new PrintStream(os, true, "utf-8");