问题标签 [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.
java - java文件接收停止
我在java中使用套接字进行文件传输。这是客户端代码
这是服务器代码
当我检查服务器的计数时,它是635
. 这意味着服务器已发送数据635
时间。但是,客户端的打印计数仅为512
. (从 0 到 511)我认为它停在read()
,因为
不打印。谁能告诉我原因和解决方法?
java - 客户端无法识别文件流的结尾
我正在用java制作文件传输线程
这是服务器的代码
和客户的代码
服务器打印
这意味着服务器发送文件的每个字节。
但是,客户端不打印
我检查了循环运行的次数(检查了服务器和客户端)
两个 while 循环都运行 685 次
我认为客户端的 while 循环无法识别文件传输结束。
有谁知道问题?
java - For-loop 不执行文件写入命令
我有一个程序应该生成一个具有随机整数名称的文件,并将 200 个字符的数据附加到每个文件。我已经成功地创建了一个文件:
我已经让它将char
s 写入文件:
但是当我将两者与 for 循环结合使用时,它不起作用:
我将得到输出“Total: (number) characters written to (whatever).txt!” 但它实际上不会写字符。但是,如果我使循环无限(通过更改qu++
为qu--
),它将写入字符,当然只有一个文件。我什至尝试将其更改为while
循环,但它不起作用。有任何想法吗?
java - 如何通过bufferedInputStream和bufferedOutputStream在JAVA中复制文件?
我想使用bufferedInputStream
并将bufferedOutputStream
大型二进制文件从源文件复制到目标文件。
这是我的代码:
我可以成功复制,但后来我使用
在命令行中比较两个文件。错误信息
cmp:文件的EOF
出现。我可以知道我错在哪里吗?
java - 缓冲写入数据库以避免 OutOfMemoryError
假设您有以下代码:
稍后,该列表用于通过以下调用将对象写入数据库(确切地说是 PostgreSQL):
现在,上面的代码可能看起来简单易懂,但是,当Foo
列表中的对象过多时,就会出现问题,从而导致OutOfMemoryError
.
所以,我想知道是否有某种模式或约定关于如何对数据库进行“缓冲”写入,以避免将大量对象保留在最终将存储在数据库中的内存中?
我正在考虑沿着这些思路走,受 启发BufferedOutputStream
,保持对象的缓冲区(可配置长度),一旦缓冲区填满,就写入并刷新到数据库。
由于我的双手非常关注这一点(我只允许进行小错误修复,而不是更改架构),这是一个足够好的方法和/或有更好的方法吗?
谢谢 :D
java - BufferedOutputStream 连接两个连续的 flush() 调用
我想使用 BufferedOutputStream 发送单独的消息。所以我愿意bos.write(msg1); bos.flush(); bos.write(msg2); bos.flush()
。另一方面,我有一个 BufferedReader 依赖于这些消息的分离:
但我得到的是这样的:“向客户端发送 30 个字节;向客户端发送 30 个字节”,在另一端:“收到 60 个字节”。
java - 如何加快 FileOutputStream 和 FileOutputStream close()?
在我的 java 应用程序中,我创建线程,其中使用包裹在 BufferedInputStream 和 BufferedOutputStream 中的 FileOutputStream 和 FileInputStream 复制大文件。复制文件后,我尝试为缓冲的输入/输出流调用 close() ,但这在 Ubuntu 上需要几分钟。当它在 OS X 上运行时,流会立即关闭。有没有办法加快这个过程?
java - 如何使用缓冲流附加到 Java 中的文件?
我有以下代码,但我不确定我是否在效率/刷新/关闭流方面做得正确。一些建议会很有帮助,谢谢
tomcat - ClientAbortException 在移动设备上使用 BufferedOutputStream 在 servlet 中加载文件
我有一个使用 BufferedOutputStream 加载音频文件的 servlet,如下所示:
此文件用于音频 html5 标记(如果浏览器不支持,则用于 swf 播放器)。它在某些浏览器上运行良好(在 Windows 上:IE6-10、Firefox、Chrome、Safari。在智能手机上:Chrome、Firefox(测试版)、默认的 android 浏览器)。但在 2 个浏览器(iPad/iPhone 上的 Safari 和 HTC 浏览器)中,我有一个例外。当我通过我的 servlet 加载文件时,大约 15 秒后,我收到一个异常:
在 safari 上,我只能读取一次文件,然后我必须重新加载音频 html5 标签。在 HTC 浏览器上,我无法随时阅读。
多谢。
java - Java ZipOutputStream 写入一些文件但不写入其他文件
我正在使用 Java 的 ZipOutputStream 类来编写一个大的 zip 文件。
当 zip 文件只有 1000 个子文件和子文件夹时,它可以正常工作。当 zip 文件只有 10000 个子文件和子文件夹时,它也可以正常工作。
但是,由于某种原因,当我将其增加到超过 100000 个子文件和子文件夹时,就会出现问题。
它仍然会写入大量子文件,但随后会退出。我最终得到一个 zip 文件,其中包含我期望的大约一半的目录树。
zip 文件没有达到 4GB 的最大大小。完成后,zip 文件整体只有大约 30MB 大。zip 文件中的每个子文件的大小都小于 1KB。
zip 文件的布局很简单:
根文件夹应包含十个子目录。
这些子目录中的每一个都应包含十个子目录。
这一直持续到第四层,每个子目录包含十个文件。
但是执行后,第一级只保存了5个目录,而第一级的最后一个目录只保存了两个子目录。
以下是相关代码:
和
和
我想知道 ZipOutputStream 在退出之前是否有最大数量的文件可以写入。或者也许 FileOutputStream 可以。我不确定。
感谢您的帮助。谢谢你。