问题标签 [bufferedoutputstream]

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 回答
290 浏览

java - 流式写入 csv 文件

我需要将一些大量数据的报告生成到 csv 文件中。我想避免将所有数据加载到内存中并将它们全部刷新。我更喜欢的方法是创建 csv 标头,然后依次将数据写入 csv。

我正在使用 apache csv 的 csv 打印机,它可以使用一些设置创建 csv 行。但是当我在每次写入刷新后调用时,写入速度太慢了。

您对如何解决该任务有任何建议吗?

0 投票
0 回答
40 浏览

java - BufferedOutputStream.flush 异常:尝试调用虚拟方法 'void java.io.OutputStream.write(byte[], int, int)'

应用程序偶尔会出现以下异常:

堆栈跟踪:

从:

我认为这不是因为 bufferedOutputStream 为空,而是其他原因。如果可以理解正确?如果是这样,它是什么?

0 投票
0 回答
291 浏览

java - 使用 ByteArrayOutputStream 和 BufferedOutputStream 来避免内存问题,这是个好主意吗?

我正在开发 Spring Boot 应用程序,该应用程序需要通过 REST API 将 apache poi 工作簿文档创建的工作簿发送到客户端,虽然我能够发送它,但我想知道通过网络发送文件的有效方法。

  1. 我将文件写入磁盘并将文件发送到客户端,API 完成,但现在我必须有额外的代码来删除这些陈旧的文件,所以我决定采用第二种方法

  2. 在 ByteArrayOutputStream 中写入文件,然后通过字节数组创建 spring 资源,它会发送文件而不将文件写入磁盘,问题就解决了。

但后来我发现很多链接讨论 ByteArrayOutputStream 的效率和内存问题,比如这个 -->。 堆栈溢出

正如其中一个答案所解释的那样,BufferedReader 比 ByteArrayOutputStream 更有效地写入文件,所以我想出了下面的代码。

我可以在没有 BufferedOutputStream 的情况下直接在 ByteArrayOutputStream 上写入,但我正在考虑写入缓冲数据而不是逐字节写入的效率。

上面的代码在给定情况下使用是否正确?

0 投票
1 回答
357 浏览

java - How to serialize a HashMap with BufferedOutputStream in Java?

I have a very large HashMap of the format HashMap<String, List<String>>, and I want to serialize it using BufferedOutputStream because I think that it will be more efficient than with a regular OutputStream.

But how do I divide the HashMap in chunks of the size of the buffer? Should I just iterate through the HashMap?

0 投票
0 回答
39 浏览

java - BufferedOutputStream 写入方法耗时过长

我正在使用 BufferedOutputstream 写入方法写入文件。但它需要很长时间才能完成。我在 AIX OS 上运行了相同的代码,它工作得很好,但在 RHEL 7.6 上它不能按要求工作。Java版本是1.6

代码:

0 投票
1 回答
351 浏览

java - 如何复制png文件?和动态目录路径

所以我写了这段代码,将文件从一个文件夹复制到另一个文件夹!它适用于 .mp3 .wav .jpeg.jpg 文件

但它不适用于 .png 文件!(图像被破坏或丢失一半)

有没有办法可以编辑代码是否适用于 .png 文件?如果没有,我该如何复制它们?

我还想补充一个问题!当前代码可以在我的计算机上运行,​​因为我的计算机上D:\\move\\1\\1.mp3存在此路径!

如果我将我的程序转换为 .exe 文件并将其提供给其他人,它就不起作用,因为他的计算机上不存在该路径!所以而不是这条线

我想做类似的东西

代码 :

0 投票
1 回答
38 浏览

java - BufferOutputStream 仅写入较大的数据,而不是在 < 40kb 时

我的目标是将整个文件解密为另一个文件。

如果 cypherBufStream(读取输入文件的 BufferedInputStream)太小,即大约 128 字节,则此输出循环出于某种原因不会写入 addmsgOut。当引入 38kb 及以上的较大文件时,它工作正常。我一直把头撞在墙上试图弄清楚,并希望得到一些帮助。

0 投票
0 回答
52 浏览

java - Java TCP BufferedOutputStream 重连策略

我有一个应用程序必须通过 TCP 套接字将数据发送到另一个应用程序。这是从客户端到服务器的单向流。发送数据时,客户端必须重试/重新连接,并尝试确保在接收器/侦听器/服务器死亡/消失或断开连接时发送所有数据。我的代码如下:

注意:使用 BufferedOutputStream 的原因是因为我正在发送小消息,而所有其他方法在现实世界的测试场景中无法获得相同的吞吐量。

这一切对我来说都按预期工作,但是我有几点。

  1. 这是正确的方法还是完全疯狂并会导致严重的问题?

  2. 在打开新连接之前尝试清理和关闭连接和编写器时,会引发以下错误,我无法关闭 bufferedOutputStream

    java.net.SocketException:对等方重置连接:套接字写入错误

    如果我socket.shutdownOutput();在尝试关闭输出流之前,那也会引发异常。清理和重新连接的正确方法是什么?

0 投票
1 回答
98 浏览

java - BufferedInputStream / BufferedOutputStream 的文件读/写速度

有两个问题。

  1. 如果编码为 bis.read() 而不是 bis.read(bys),程序实际上会做什么?(它以任何速度工作,但速度要慢得多。)

  2. 为什么 bos.write(bys) 比 bos.write(bys, 0, len) 快得多?(我希望两者的运行速度相同。)

谢谢!

0 投票
1 回答
43 浏览

java - 我们可以使用 BufferedReader 读取文件并使用 BufferedOutputStream 将内容写入另一个文件吗?反之亦然

我正在学习 java io 概念,我需要澄清一个疑问。

我正在尝试使用像 BufferedReader 这样的阅读器读取文件,并将其写入像 BufferedOutputstream 这样的 OutputStream。这是我的代码示例。

我知道阅读器读取字符,输出流写入字节,但是我们如何才能完美地处理它,因为当我的文件有正常的英文字符时,没有问题,但是当我有符号或其他语言字符时(例如காலை வணக்கம்,早上好)它将文本复制到一些随机文本(如æ©ä`好)。

谁能帮助我深入了解这些主题?

感谢您的帮助,如果被问到任何愚蠢的问题,我们深表歉意。