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

java - Java:打开和读取文件而不锁定它

我需要能够用 Java 模仿“tail -f”。我正在尝试读取一个日志文件,因为它正在由另一个进程写入,但是当我打开文件来读取它时,它会锁定文件并且其他进程无法再写入它。任何帮助将不胜感激!

这是我目前正在使用的代码:

0 投票
3 回答
3388 浏览

java - 读取java中开始索引和结束索引之间的行

假设我在一个文件中有 10 行。我有 2 个参数指定索引的开始和结束。

StartIndex = 2 // 指定前 2 行

EndIndex = 3 // 指定最后 3 行

我需要阅读两者之间的线条。我知道维护索引和跳过是其中一种方法......但是还有其他有效的方法(即使使用外部库)?

谢谢

0 投票
1 回答
744 浏览

java - Java二进制文件writeUTF...解释规范

我正在自学Java。以下是其中一个练习,但是我真的不明白它的要求是什么……有任何聪明的 Java 大师可以用更详细和简单的语言来解释这一点吗?谢谢

假设您有一个二进制文件,其中包含类型为 int 或 double 的数字。您不知道文件中数字的顺序,但它们的顺序记录在文件开头的字符串中。该字符串由字母 i (表示 int)和 d (表示 double)组成,按后续数字的类型顺序排列。该字符串是使用 writeUTF 方法写入的。

例如,字符串“iddiiddd”表示该文件包含八个值,如下所示:一个整数,后跟两个双精度数,后跟两个整数,后跟三个双精度数。

读取这个二进制文件并创建一个新的文本文件,其中的值写入一行。

0 投票
2 回答
271 浏览

java - 确定文件夹是否存在?

我将如何确定是否已在 Java 中创建了文件或目录?

如果数据目录尚不存在,我基本上想创建一个数据目录。

谢谢。

0 投票
3 回答
1765 浏览

java - 是否有类似于的 java 库/包?

我已经断断续续地使用 Java 大约 14 年了,在过去 6 年左右的时间里几乎没有其他任何事情。

我真的很讨厌 java.io 包——它的大量子类和适配器。我确实喜欢异常,而不必总是轮询“errno”之类的东西,但我肯定可以在没有声明的异常的情况下生活。

有什么功能类似于 C 中的 Unix/ANSI stdio.h 例程吗?

我知道在 java 本身退役之前,我们永远不会摆脱 java.io 和它的约定,因为它们已经转移到已经融入 java 的许多框架中。也就是说,我想要一些类似这样的东西(我们称之为包 javax.stdio):

有一个主要的实用程序类,可能是 FileStar,它可以读取和写入文件(或管道),无论是文本还是二进制,顺序或随机访问,其构造函数模仿 fopen() 和 popen()。

这个类应该有很多有用的方法来执行诸如 fread()、fwrite()、fgets()、fputs()、fseek() 和其他任何事情(fprintf()?)之类的事情。与 open/construct 模式不兼容的方法会简单地抛出(就像某些集合类/方法在受限时所做的那样)。

然后,有一堆接口建议您在创建流后打算如何使用它:Sequential、RandomAccess、ReadOnly、WriteOnly、Text、Binary,以及这些有意义的组合。甚至可能有方法来返回适当的类型转换(接口),如果您要求一些不兼容的东西,就会抛出。

为了更有趣,跳过声明的异常——例如——javax.stdio.IOException extends RuntimeException。

有这样的开源项目吗?

0 投票
3 回答
299 浏览

java - SCJP 书籍,IO 部分:这是一个错字还是有理由让它看起来像这样?

我的问题是关于行(编辑:19),其中新的 PrintWriter 是使用将 FileWriter fw 作为参数的构造函数创建的。如果稍后在实际写作中不使用它,我不明白将 BufferedWriter bw 链接到 FileWriter 的用途。Java 能否以某种方式应用链接,而 bw 仍然会以某种方式影响程序的其余部分?

我认为这可能是一个错字,他们打算使用 bw 作为 PrintWriter 的参数,但就像标题所说的那样,我是新手。

提前感谢大家。

0 投票
1 回答
353 浏览

java - 连续编辑一个1MB的文件,什么效率更高?

我必须不断地编辑一个 1MB 的文件,模拟一个文件系统。我必须修改文件控制块、FAT、块等的目录。

教授建议每次进行更新时都覆盖该文件。1MB 不应该花几分钟来做到这一点,但我不喜欢这种方式。

去这里的方式是 FileChannel 吗?另外,我知道如果我编辑MappedByteBuffer,映射文件区域的内容也会立即编辑?即自反映射?

谢谢。

0 投票
2 回答
5240 浏览

java - 在 Java 中修改隐藏文件

我有一个用户下载的文件,然后我在 java 中执行一个命令来隐藏该文件:

现在稍后我需要访问该隐藏文件,但我得到

如果文件未隐藏,则此方法有效,但需要隐藏文件,以便用户不会修改它。那么我应该如何修改隐藏文件呢?有没有办法在Java中做到这一点?

谢谢你的想法。

0 投票
3 回答
750 浏览

java - ObjectInputStream 不应该扩展 FilterInputStream 吗?

块引号来自 Java Docs -

FilterInputStream 包含一些其他输入流,它用作其基本数据源,可能沿途转换数据或提供附加功能。

DataInputStream 允许应用程序以与机器无关的方式从底层输入流中读取原始 Java 数据类型。

因此DataInputStream延伸FilterInputStream

ObjectInputStream 反序列化以前使用 ObjectOutputStream 编写的原始数据和对象。

但是,由于某种原因,即使它也在从底层输入流中读取对象(这次不是原始类型),它也ObjectInputStream不会扩展。FilterInputStream这是相关类的分支。

替代文字

是否有相同的设计理由?

0 投票
5 回答
3028 浏览

java - Windows temporary file in Java

How to create a file in Windows that would have attributes FILE_ATTRIBUTE_TEMPORARY and FILE_FLAG_DELETE_ON_CLOSE set using Java?

I do want my file to be just in-memory file.

To precise: delete-on-exit mechanism does not satisfy me, because I want to avoid situation, when some data is left on disk in case of, for example, application crash.