private String findEncoding(HttpServletRequest request, FileItemStream fileItemStream) { String encoding = null; String contentType = fileItemStream.getContentType(); if (contentType != null && contentType.startsWith("text/plain")) { Matcher matcher = CHAR_SET_PATTERN.matcher(contentType); if (matcher.find()) { encoding = matcher.group(1); } else { encoding = Encoding.US_ASCII.getId(); } } if (encoding == null) { encoding = request.getCharacterEncoding(); } if (encoding == null) { encoding = Encoding.US_ASCII.getId(); } return encoding; }
private byte[] buildContent(JsonStructure jsonData, String jsonpCallback) throws IOException { ByteArrayOutputStream binaryArrayOutputStream = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(binaryArrayOutputStream, Encoding.UTF_8.getId()); if (mJsonpMode == JsonpMode.TEXTAREA) { writer.write("<textarea>"); } if (mJsonpMode != JsonpMode.DISABLED) { writer.write(jsonpCallback); writer.write('('); } JsonUtils.write(writer, jsonData); if (mJsonpMode != JsonpMode.DISABLED) { writer.write(')'); } if (mJsonpMode == JsonpMode.TEXTAREA) { writer.write("</textarea>"); } writer.flush(); return binaryArrayOutputStream.toByteArray(); }
public static void writeToOutputStream(Node node, OutputStream outputStream, Encoding encoding) throws IOException { LSSerializer xmlSerializer = getSerializer(); LSOutput destination = DOM_IMPLEMENTATION.createLSOutput(); destination.setByteStream(outputStream); destination.setEncoding(encoding.getId()); try { xmlSerializer.write(node, destination); } catch (LSException exception) { throw new IOException("Error while writing document to output stream.", exception); } }