我的情况是我的算法有2个输入:
最后,返回的结果将被放入OutputStream中,这可能会多次发生,但至少会发生一次。在这种情况下没有发生多线程。
我找到了两个解决方案:
深入研究这些方法背后的代码,展示了每种基础算法的复杂设计。我不能说我理解如何在这两个选项之间做出选择。
哪种解决方案通常是更好的选择?
答案 0 :(得分:4)
在这两种情况下,动态构建byte[]
以对字符串进行编码。更有效的方法是将其直接写入OutputStream。 e.g。
OutputStreamWriter osw = new OutputStreamWriter(out, StandardCharsets.UTF_8);
// look Mum, no byte[] needed
osw.write(text);
如果您需要二进制格式,则可以使用DataOutputStream.writeUTF。