问题标签 [bytearrayoutputstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 将字符串写入 ByteArrayOutputStream 时出现 OutOfMemoryError
我有一个方法,我有一个字符串对象数组,我需要将其写入 ByteArrayOutputStream,稍后我将写入 ZipOutputStream。
这是我的代码。
问题是,我只收到了关于它的崩溃报告,我得到了OutOfMemoryError
一条在线信息byteOut.write(s.getBytes("UTF-8"));
任何人都知道这样做的更好方法,或者可以查看我是否做错了什么?
主意
我可以围绕问题放置一个 try catch 语句以及何时调用byteOut.flush()
?
提前致谢
java - 在 writeObject(null) 之后期望 0 个字节,但我发现 5 个字节,这是怎么回事?
将对象写入 ByteArrayOutputStream 时,我得到了一些奇怪的结果。
所以我将空值写入 ByteArrayOutputStream,然后当我从该流中检索字节而不是找到 0 个字节时,我发现有 5 个。字节的值如下 -
- [0] => -84
- [1] => -19
- [2] => 0
- [3] => 5
- [4] => 112
如果我更改os.writeObject(null)
为os.writeObject("A")
我得到 8 个字节,这些是 -
- [0] => -84
- [1] => -19
- [2] => 0
- [3] => 5
- [4] => 116
- [5] => 0
- [6] => 65
- [7] => 8
那么这里发生了什么,如果我写 0 个字节,我希望在检索字节数组时找到字节。然后我看到它增加了额外的 5 个字节。所以当我写“A”时,我希望它在字节数组中返回 6 个字节,但它返回 8。这是怎么回事?
java - 从大型 ByteArrayOutputSteam 了解 Avro 反序列化
我的印象是 aByteArrayOutputStream
的内存效率不高,因为它的所有内容都存储在内存中。
同样,调用toByteArray
大流似乎“扩展性很差”。
那么,为什么在 Tom White 的书Hadoop: the Definitive Guide中的示例中的示例中同时使用它们:
“大数据”不是 Avro 的标准吗?我错过了什么?
编辑 1:我正在尝试做的事情- 假设我正在通过 websocket 流式传输 avros。如果我想反序列化多条记录,而不仅仅是放入它自己的一条记录,该示例会是什么样子ByteArrayOutoputStream
?
有没有更好的方法来提供BinaryDecoder
字节 []?或者也许是不同类型的流?或者我应该为每个流发送 1 条记录,而不是加载具有多条记录的流?
java - 将 ByteArrayOutputStream 转换为 BufferedImage
我有一个使用 ByteArrayOutputStream 创建的QRGen Qr code generation library
,我想把它变成一个BufferedImage
对象并在 Android 的 ImageView 中呈现它。如何实现?
java - ByteArrayOutputStream 抛出 OutOfMemoryError
我正在尝试使用以下代码读取图像的字节数组,但它会引发内存不足异常。我已经评论了异常发生的地方。
java - ByteArrayInputStream 到 FileInputStream
我在 Java 方面不是很有经验,并且在将对象转换为ByteArrayInputStream
对象时遇到了麻烦FileInputStream
。
有什么办法吗?
我编写了接受文件 URL 并将其传递给此函数的代码renderer.setDocument(url);
这是我的代码:
但现在我不想在硬盘上写任何东西,所以我用ByteArrayInputStream
包含我的文本的文件交换了文件,我想将它传递给 ITextRenderer 而不是传递文件 URL。
有没有办法做到这一点?
java - 在 Android 应用程序中关闭 ByteArrayOutputStream
在一个 Android 应用程序中,我正在发送从 中拍摄的图片,Camera Intent
因此我需要将 a 转换Bitmap
为字节数组。为此,我使用ByteArrayOutputStream
如下:
一切正常,真正的问题是ByteArrayOutputStream
javadoc 和 Android 文档之间的文档差异。
Javadoc读取_
关闭 ByteArrayOutputStream 无效。
Android 文档内容如下:
关闭此流。这会释放用于该流的系统资源。
无论如何,我都会关闭流,但我想知道哪些文档是正确的以及它们为什么不同。
pdf - iText 通过 servlet 从带有输入数据的动态映射 jsp 页面生成 pdf
我已经使用字节数组输出流来生成pdf,但是输入是jsp页面和基于web的数据的映射,这个映射的文档将用于生成pdf
document.add() 中使用的 webdoc 是来自 jsp 的映射数据和一些数据输入的输出,但是页面后面的 pdf 被显示
%PDF-1.4 %2 0 obj <>流 x@<ńĤpٶB>SAa]"1zo&"k0;(\pxՃe#z,G%SQS^]P/@h |\" Ȉ[`JJrf6$m}M Ʉ :+t$j- y HBt: uR؞{bz{yK 3CZ"Uy2i>>/MediaBox[0 0 595 842]>> endobj 1 0 obj <> endobj 3 0 obj <> endobj 5 0 obj <> endobj 6 0 obj <> endobj xref 0 7 0000000000 65535 f 0000000555 00000 n 0000000015 00000 n 0000000643 00000 n 0000000398 00000 n 0000000706 00000 n 0000000751 00000 n trailer <<1715206131a4d7dfbf6cef534ceaa665>]/Info 6 0 R/Size 7>> startxref 887 %%EOF
我的 web.xml 也有 servlet 映射,但对 url 模式有疑问,因为生成的 pdf 将是动态的,所以在 url-pattern 部分我有 /servlet/servlet_name。
使用 *.pdf 没有帮助。
java - 捕获错误消息并在控制台 (IDE) 中显示
我正在使用我的 java 程序中的 Processbuilder 作为后台进程运行一个 c++ 程序(makefile)。我正在使用 .getInputStream 捕获在我的 cmd 提示符中显示的值并显示在我的控制台 (IDE) 中。
这很好用。假设如果我在我的一个 c++ 文件中犯了一些错误,并且当我尝试运行 makefile 时,它没有捕获错误消息。在使用 "cmd.exe","start" 时,我可以在 cmd 提示符中查看错误,但它不会显示在控制台(IDE)中。
我可以知道我应该怎么做才能显示错误消息。
1) System.err 和 printstream 可以解决这个问题吗?如果可以的话,请给我看一段代码示例。提前致谢
java - 编组将特殊字符转换为问号
在我的代码中,我想将一些字段写入 xml 文件。
当我调用Marshaller.marshal(element, out);
正确的字段时,例如 value="barça" 的字段将在 ByteArrayOutputStream 中转换为 bar??a。
有什么想法可能导致这种情况吗?
我已将其设置为编组器的属性:
谢谢您的帮助