问题标签 [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.

0 投票
1 回答
286 浏览

android - 将字符串写入 ByteArrayOutputStream 时出现 OutOfMemoryError

我有一个方法,我有一个字符串对象数组,我需要将其写入 ByteArrayOutputStream,稍后我将写入 ZipOutputStream。

这是我的代码。

问题是,我只收到了关于它的崩溃报告,我得到了OutOfMemoryError一条在线信息byteOut.write(s.getBytes("UTF-8"));

任何人都知道这样做的更好方法,或者可以查看我是否做错了什么?

主意

我可以围绕问题放置一个 try catch 语句以及何时调用byteOut.flush()

提前致谢

0 投票
2 回答
3649 浏览

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。这是怎么回事?

0 投票
1 回答
1313 浏览

java - 从大型 ByteArrayOutputSteam 了解 Avro 反序列化

我的印象是 aByteArrayOutputStream的内存效率不高,因为它的所有内容都存储在内存中。

同样,调用toByteArray大流似乎“扩展性很差”。

那么,为什么在 Tom White 的书Hadoop: the Definitive Guide中的示例中的示例中同时使用它们:

“大数据”不是 Avro 的标准吗?我错过了什么?

编辑 1:我正在尝试做的事情- 假设我正在通过 websocket 流式传输 avros。如果我想反序列化多条记录,而不仅仅是放入它自己的一条记录,该示例会是什么样子ByteArrayOutoputStream

有没有更好的方法来提供BinaryDecoder字节 []?或者也许是不同类型的流?或者我应该为每个流发送 1 条记录,而不是加载具有多条记录的流?

0 投票
1 回答
2298 浏览

java - 将 ByteArrayOutputStream 转换为 BufferedImage

我有一个使用 ByteArrayOutputStream 创建的QRGen Qr code generation library,我想把它变成一个BufferedImage对象并在 Android 的 ImageView 中呈现它。如何实现?

0 投票
1 回答
1541 浏览

java - ByteArrayOutputStream 抛出 OutOfMemoryError

我正在尝试使用以下代码读取图像的字节数组,但它会引发内存不足异常。我已经评论了异常发生的地方。

0 投票
0 回答
3106 浏览

java - ByteArrayInputStream 到 FileInputStream

我在 Java 方面不是很有经验,并且在将对象转换为ByteArrayInputStream对象时遇到了麻烦FileInputStream

有什么办法吗?

我编写了接受文件 URL 并将其传递给此函数的代码renderer.setDocument(url);

这是我的代码:

但现在我不想在硬盘上写任何东西,所以我用ByteArrayInputStream包含我的文本的文件交换了文件,我想将它传递给 ITextRenderer 而不是传递文件 URL。

有没有办法做到这一点?

0 投票
3 回答
3426 浏览

java - 在 Android 应用程序中关闭 ByteArrayOutputStream

在一个 Android 应用程序中,我正在发送从 中拍摄的图片,Camera Intent因此我需要将 a 转换Bitmap为字节数组。为此,我使用ByteArrayOutputStream如下:

一切正常,真正的问题是ByteArrayOutputStreamjavadoc 和 Android 文档之间的文档差异。

Javadoc读取_

关闭 ByteArrayOutputStream 无效。

Android 文档内容如下:

关闭此流。这会释放用于该流的系统资源。

无论如何,我都会关闭流,但我想知道哪些文档是正确的以及它们为什么不同。

0 投票
0 回答
922 浏览

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 没有帮助。

0 投票
1 回答
753 浏览

java - 捕获错误消息并在控制台 (IDE) 中显示

我正在使用我的 java 程序中的 Processbuilder 作为后台进程运行一个 c++ 程序(makefile)。我正在使用 .getInputStream 捕获在我的 cmd 提示符中显示的值并显示在我的控制台 (IDE) 中。

这很好用。假设如果我在我的一个 c++ 文件中犯了一些错误,并且当我尝试运行 makefile 时,它​​没有捕获错误消息。在使用 "cmd.exe","start" 时,我可以在 cmd 提示符中查看错误,但它不会显示在控制台(IDE)中。

我可以知道我应该怎么做才能显示错误消息。

1) System.err 和 printstream 可以解决这个问题吗?如果可以的话,请给我看一段代码示例。提前致谢

0 投票
0 回答
895 浏览

java - 编组将特殊字符转换为问号

在我的代码中,我想将一些字段写入 xml 文件。

当我调用Marshaller.marshal(element, out);正确的字段时,例如 value="barça" 的字段将在 ByteArrayOutputStream 中转换为 bar??a。

有什么想法可能导致这种情况吗?

我已将其设置为编组器的属性:

谢谢您的帮助