问题标签 [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 回答
162 浏览

java - 将 long 转换为 byte[] 返回不可读的格式

我正在尝试将 long 转换为字节,因为我想以秒为单位在文件中写入时间戳。Belwo 是我用来将 long 转换为 bytes[] 以及我如何将它们写入文件的方法。

我从以下行得到什么:

是不可读的代码/格式:

代码

写入文件

0 投票
0 回答
13 浏览

android - BufferedOutputStream Android(写入外部存储)

我在 android 模拟器中写入外部存储时遇到问题。BufferedOutputStream如果您在随附的屏幕截图中追踪。出于某种原因,当我使用 写入内部存储、缓存或外部存储getExternalFilesDir()时,相同的代码可以完美运行。

但是当我尝试使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)该缓冲区在公共外部存储上写入时,它始终为空。当我手动创建保存数据的 txt 文件时,我在下面的屏幕截图中收到错误消息。

根据屏幕截图,我已经包含了清单代码、活动类代码和来自模拟器的屏幕截图。

任何评论都会有所帮助。谢谢你。 在此处输入图像描述

0 投票
0 回答
339 浏览

android - android上的HttpURLConnection在范围内下载

在尝试使用 HttpURLConnection 分两部分下载一个简单的文本文件时,我遇到了一个问题。

代码:

现在,在运行它时,会下载一个文件。文件的前半部分是预期的文件文本。文件的第二部分在开头有一点第二部分文本,然后是第一部分文本。

但是,如果我注释掉下载第一部分的代码,该文件将包含第二部分而不会出现问题。

编辑:(为问题添加更多细节)

我编写的代码应该通过两个单独的连接将文本文件分成两部分下载。第一个连接将下载文件的前半部分并将其写入文件。第二个连接是下载文件的第二部分并将其附加到同一个文件中。

如果我注释掉以下应该是“第一部分下载器”的内容,其余代码将按预期下载并写入文件的第二部分。

但是整个代码将把第一部分下载两次。

0 投票
0 回答
41 浏览

java - 写入多个打开的文件的影响

我正在尝试优化导致一些不必要的延迟的 Android 应用程序的日志记录系统。打开了多个记录不同部分的文件,应分开保存。

我对低级文件系统设计不是很熟悉,对手机中使用的当前闪存和/或 SSD 内存(与传统 HDD 相对)更不熟悉。我假设内存是按磁盘块组织的(最近是 512B 或 4096B),并且使用了某种形式的连续、链接或索引分配。我使用BufferedOutputStreams 的缓冲区大小为 256B,但这个值是随机选择的(为缓冲区大小提供了一个很好的答案)。

以追加模式写入多个打开的文件会产生额外的开销,从而显着降低性能(例如分配策略)?它是否受缓冲输出缓冲区大小(多文件的这种特殊情况)的影响很大?

我正在使用 Android,它往往有多种FS,并且很难理解每个如何影响附加到多个打开的文件。可能 Java 或任何其他的 I/O 功能非常相似。

我对这个特定问题的搜索变成了空,或者我在搜索中需要一些我不熟悉的特定领域的术语。

0 投票
1 回答
4954 浏览

bash - docker logs and buffered output

I want to continously print dots without newline (waiting behavior).

This bash one-liner works fine on my machine:

However, when I run it in a Docker container, and when I try to read its output with docker logs, no output is printed:

I can confirm that the bash loop is executing in the container by using strace on process 1 (bash command):

...and so on.

Also, it works fine when directly watching output with option -t (without using docker logs):

Even weirder, background + pseudo-tty (option -d + option -t) worked once, but then didn't work anymore.

printf is a line-buffered command, and if I add flushing by printing a newline character, it works:

So I tried to "unbuffer" printf with stdbuf, without any success:

Next I tried to redirect printf to the standard error, still without success:

...and with both at the same time, still without success:

I encountered the same behaviour when using echo -n instead of printf.

My questions: Do I unbuffer correctly? If yes, what makes it not working?

Looking for insight on this :)

0 投票
1 回答
1080 浏览

java - 无法使用 FileInputStream 复制 PDF 文件

我正在尝试将 PDF 文件从一个位置复制到另一个位置,但是一旦我运行以下代码,我就无法打开 PDF(它显示以下错误。)

打开此文档时出错。文件已损坏,无法修复

有人可以帮我看看我到底做错了什么吗?

0 投票
1 回答
1062 浏览

java - 将文件保存在“.zip”文件夹中会加快文件写入网络驱动器的时间吗?

我知道当我将新文件写入以“.zip”结尾的文件夹时,它会压缩文件。这是在 JAVA 中使用 BufferedOutputStream 并保存到 Windows 文件系统时。我将这些文件保存到网络驱动器,因此写入时间取决于网络速度。

保存到 .zip 文件夹会加快写入时间吗?换句话说,它是传输未压缩的数据然后压缩它(所以它不会加快写入时间)还是压缩然后写出文件?对不起,如果这是一个无知的问题。

0 投票
2 回答
54 浏览

java - HTTP 服务器问题

大家好,我有一个非常基本的 http 服务器,在大约 30 分钟内完成了一项任务,并且遇到了一个非常奇怪的问题。我们被指定仅使用 BufferedOutputStream 而不是 StreamWriter,因为使用 PrintWriter 显然存在问题,因为它们在不同平台上的性能不同。我很困惑,因为我有以下 println 方法......

我在使用时感到困惑

网页说我没有发送任何数据,但使用...

一切看起来都很完美。我尝试了一些方法,例如冲洗 outStstream,但我不明白为什么它不起作用

谢谢您的帮助

0 投票
1 回答
514 浏览

java - BufferedOutputStream 的替代方案?

这是我的代码片段

我正在使用 Spark 1.6.1,在我的代码中,我使用saveAsHadoopFile()了方法,为此我编写了一个派生自 org.apache.hadoop.mapred.lib.MultipleTextOutputFormat 的类 OutputFormat,并覆盖了上述方法。

在集群上,它会在输出文件中写入损坏的记录。BufferedOutputStream我认为这是 因为

我们可以有任何替代方案bufferedOutputStream,因为它会在缓冲区满时立即写入。

注意:更新了代码。带来不便敬请谅解。

0 投票
2 回答
638 浏览

android - 将加速度计传感器数据写入文件出现故障

我正在开发一个 Android 应用程序,它将时间戳和 3 轴加速度计传感器数据(时间戳、ax、ay、az)写入 csv 文件。我首先遇到两个问题是少数条目的时间戳没有按升序写入文件(请参见图像中黄色突出显示的时间戳)。 图像1

其次是我获得了单个时间戳的多个条目(而不是重复的条目),理想情况下,我们应该只获得一个唯一时间戳的单个条目图2

我的应用程序的设计是:我正在创建一个将在后台运行并将所有传感器数据记录到文件中的服务。我正在使用包装 BufferedOutputStream 和 FileOutputStream 的 ZipOutputStream 将传感器数据写入文件。下面是 的代码片段AccelerometerLoggingService。我正在onDestroy()以服务方式关闭文件。您能否建议我的代码或设计中可能存在的缺陷。我认为线程可能存在一些问题,但我不知道如何调试它。任何帮助表示赞赏。

更新 2:

我认为问题是因为线程同步。因此,我决定在单独的后台线程上运行加速度计传感器,并将传感器数据写入同一线程中的文件,但我的文件中仍然出现乱序条目。以下是我所做的新代码更改。