【发布时间】:2020-01-08 20:03:11
【问题描述】:
当输入字节数组的大小太大时,这行代码似乎停止工作:
byte[] encoded = Base64.encode(content, Base64.DEFAULT);
输入是:byte[] content,非常大。
有没有办法解决这个大尺寸问题。
提前致谢!
肖恩
【问题讨论】:
-
“停止工作”是什么意思?它会抛出错误吗?会挂吗?数组必须有多大?另外,
Base64类来自哪个库?它看起来不像标准的 Java API。 -
这看起来像
android.util.Base64,在这种情况下你应该使用android.util.Base64OutputStream来编码大量数据 -
@thatotherguy,你能提供一些例子吗?
-
很遗憾,我对 Android API 的了解还不够,所以其他人应该放心。使用 Base64OutputStream 很简单,棘手的部分是重写程序以允许使用
Input/OutputStream而不是byte[]来处理您的特定数据源/接收器 -
@Shawn - 如果其中一个答案解决了您的问题,您可以通过将其标记为已接受来帮助社区。接受的答案有助于未来的访问者自信地使用该解决方案。查看meta.stackexchange.com/questions/5234/… 了解如何操作。