问题标签 [java-io]

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 投票
4 回答
29524 浏览

java - Process Builder waitFor() 问题和打开文件限制

我继承了一些代码:

基本上,将键/值对作为文件存储在磁盘上是有一些古老且高度基于巫术的原因。我真的不想进入它。

但是,我留下了一堆 IO 异常:

一堆我的意思是在 10k - 数百万的领域

我觉得 waitFor 调用是为了阻止这些发生,等待进程完成并退出,但是我认为 chmod 在文件实际关闭之前返回结果。有谁知道这是否会导致这些异常?

我的另一个倾向是,在 java 端打开和关闭数千个文件的速度不够快,而且还有其他事情发生,可能是某种形式的文件缓冲区没有被清除fw.close() 被调用。

我对java很陌生,这是一个让我难过的怪异。(很高兴该应用程序仍然以某种方式运行..在吐出一个非常大的日志文件之后)

任何人都可以想出一种方法来解决这个问题,清除缓冲区或将文件打开限制增加到 jvm 可以跟上自己的东西(假设这是问题所在)

0 投票
7 回答
18443 浏览

java - Java I/O 流;有什么区别?

java.io有许多不同的I/O流(FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedStreams 等),我在确定它们之间的差异时感到困惑。有哪些示例表明一种流类型优于另一种流类型,它们之间的真正区别是什么?

0 投票
2 回答
3687 浏览

java - 每当尝试创建 GzipInputstream 时,客户端代码“随机”失败

我有一个基本上可以满足多个客户的服务器。我基本上使用 gzip(input/output)stream 来压缩客户端-服务器之间的数据。

许多客户端可以同时向服务器发送请求,因此我有一个线程来满足每个客户端的需求。

现在,我遇到的问题是,在建立与服务器的连接后,每当尝试执行以下操作时,某些客户端代码“随机”失败。

我明白了java.io.EOFException

当我说随机时,我的意思是在异常中找不到任何模式。请求正在正确发送(否则它将不适用于任何客户端请求)。

我已经搜索了很多..但找不到任何东西.. :(

关于上述问题的任何指示?

接受新连接并产生新线程的服务器代码。

线程内的代码..

这是我得到的异常的堆栈跟踪:

0 投票
5 回答
12263 浏览

java - 用于进度报告的 InputStream 或 Reader 包装器

所以,我将文件数据提供给一个 API,Reader我想要一种报告进度的方法。

FilterInputStream编写一个包装 . 的实现似乎应该很简单FileInputStream,跟踪读取的字节数与总文件大小,并触发某些事件(或调用某些update()方法)以报告分数进度。

(或者,它可以报告读取的绝对字节数,而其他人可以进行数学运算——在其他流式传输情况下可能更普遍有用。)

我知道我以前见过这个,甚至可能以前做过,但是我找不到代码而且我很懒。有没有人把它放在身边?或者有人可以提出更好的方法吗?


一年(还有一点)之后……

我根据下面 Adamski 的回答实施了一个解决方案,它有效,但经过几个月的使用,我不推荐它。当您有大量更新时,触发/处理不必要的进度事件会成为巨大的成本。基本的计数机制很好,但让关心进度的人为它投票要好得多,而不是把它推给他们。

(如果您知道总大小,则可以尝试仅在每 > 1% 的更改或其他情况下触发一个事件,但这并不值得麻烦。而且通常情况下,您不这样做。)

0 投票
2 回答
4217 浏览

java - 确保文件在 JVM 退出时被删除

File.deleteOnExit() 是否保证即使 JVM 过早地被杀死,文件也会被删除?

0 投票
17 回答
156924 浏览

java - 如何列出 JAR 文件中的文件?

我有这段代码,它从目录中读取所有文件。

它工作得很好。它用目录“text_directory”中以“.txt”结尾的所有文件填充数组。

如何JAR 文件中以类似的方式读取目录的内容?

所以我真正想做的是,列出我的 JAR 文件中的所有图像,这样我就可以加载它们:

(因为“CompanyLogo”是“硬编码”的,但 JAR 文件中的图像数量可能是 10 到 200 个可变长度。)

编辑

所以我想我的主要问题是:如何知道我的主类所在的 JAR 文件的名称?

当然,我可以使用java.util.Zip.

我的结构是这样的:

它们就像:

现在我可以使用以下方法加载例如“images/image01.png”:

但仅仅因为我知道文件名,其余的我必须动态加载它们。

0 投票
2 回答
126 浏览

java - 从 java 中读取 XML 文件

您好,我已经在 java 中编写了小类以将 xml 文件作为字符串读取,但我的问题不是如下:如何附加字符串以便它仅输出 Physical_Order_List_Array 标签之间的内容

这是一个java类:

这是一些相当大的xml文件:

谢谢您的回答

0 投票
5 回答
19432 浏览

java - 如果存在,可以使 apache FileUtils.writeLines() 附加到文件

Commons FileUtils看起来很酷,我不敢相信它们不能附加到文件中。

以上只是每次都替换文件的内容,我只想像这段代码一样继续标记这些东西以结束。

我搜索了javadoc,但什么也没找到!我错过了什么?

0 投票
5 回答
7938 浏览

java - java.io.Buffer* 流与普通流有何不同?

1) 缓冲流如何在后台工作,它们与普通流有何不同,使用它们有什么优势?

2)DataInputStream也是基于字节的。但它有方法readLine()。这里有什么意义?

0 投票
1 回答
1714 浏览

java - 如何纠正这种使用 Java IO 写入文件的静默失败?

我在 commons-io/java-io 遇到了一个奇怪的问题。本质上,我的文件创建无声无息地失败了。

我已经查看了公共代码,试图找出为什么会默默地失败,但对我来说,它看起来应该抛出异常。(参见FileUtils.java 中的第1338、163行和IOUtils.java中的第 927行。)

为了试图纠正这个问题,我在上一行之后的代码中添加了这个检查,

但是,即使文件创建失败,也不会输入此块。

我对此一无所知,有更多Java IO经验的人可以帮助我吗?