问题标签 [java.nio.file]

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 投票
0 回答
70 浏览

java - 推荐哪个版本的 Java for Applet?

人们还在用 Java 1.6 编写 Java Applet,还是大多数开发人员都转向了 1.7?我们的小程序是使用 java.nio.file 和 WatchEvent 在 1.7 中编写的,但是我们的许多客户还没有在 PC 或 Mac 上升级到 1.7。在撰写本文时,在 Java 1.7 中开发小程序是否比使用 1.6 存在更大的安全风险?

0 投票
1 回答
288 浏览

java - 内存映射输出流生成一个带有尾随零的输出文件

我正在使用 java.nio 包在 Java 中实现内存映射流。它将一块内存映射到输出文件,当需要将更多元素写入输出文件时,它会映射另一个块,依此类推。

当要写入文件的元素总量是一次映射到文件的块大小的倍数时,我的实现工作顺利。但是,如果不是这种情况——这种情况不会经常发生,因为流无法决定/知道用户何时停止写入——映射块中的剩余空间也会以尾随零的形式转储到文件中。我应该如何避免输出文件中的这些尾随零?

提前致谢。

0 投票
3 回答
13269 浏览

java - Java File.exists() 与 File.isFile()

我无法想到该方法的实际用例java.io.File.exists()或其在 Java 7 中的等价物java.nio.file.Files.exists(Path)。似乎isFile()orisDirectory()在所有情况下都更可取(或canRead(),canWrite()等)。

例如,在如何检查文件是否存在于 Java 中?,正如第二个答案指出的那样,接受的答案似乎很愚蠢。

任何人都可以举一个例子,在不知道该事物是文件还是目录的情况下知道事物存在是有用的吗?

编辑:我明白是什么File.exists()。我的问题是,该功能何时可以帮助某人?我正在寻找一个示例,例如“File.exists()在 _ _ _ _ _ _ 时使用,因为在这种情况下既不增加File.isFile()也不File.isDirectory()增加任何价值。”


回想起来,我认为我在这里的困惑是关于File类的 JavaDoc 中两个看似矛盾的陈述。第一句话将类定义为,

文件和目录路径名的抽象表示。

这听起来像是一个明确的二分法。但在更远的地方,医生反驳说,

此类的实例可能表示也可能不表示实际的文件系统对象,例如文件或目录。

我认为第三个文件系统对象的示例对文档有很大帮助。但该类别似乎连名字都没有,导致Files该类的 JavaDoc 措辞很尴尬:静态方法的集合,

对文件、目录或其他类型的文件进行操作。

在接受的答案中,@koral 将这些其他类型称为“特殊文件”。这对我来说似乎很合适。它们是如此特别,我不知道它们的存在。

0 投票
2 回答
9641 浏览

java - java.nio.file:Path接口实际实现在哪里?

最近我正在使用 Java 7 中引入的 java.nio.file 包进行一些编码,并看到了一个使用 Path 的示例,如下所示:

鉴于 Path 是一个接口,我对如何引用它感到困惑,但是经过一些研究,我发现对接口的引用是允许的,但它必须指向实现该接口的类。从这里看,我查看了 Paths 类,发现它没有实现 Path。查看源代码实际方法 Paths.get 方法如下:

该方法首先使用我认为称为静态工厂方法的方法返回 FileSystem 类型的对象(我认为来自抽象类),但 FileSystem 也没有实现该接口。

我的问题是有人知道/能够解释 Path 接口的实际实现位置,因为我似乎无法找到发生这种情况的位置。

0 投票
4 回答
2414 浏览

java - preCalculate 文件流校验和

我正在尝试确保输出文件的完整性,以防磁盘空间不足、网络问题或在流式传输到文件过程中可能发生的任何异常。有没有办法在写入磁盘之前预先计算 FileStream checkSum 然后检查文件是否正确写入。对我来说听起来有点荒谬,系统通过 checkSum 验证其自己导出的 XML 的完整性,通常情况下,另一端的工作是验证所使用的文件是否符合其他系统生成的文件。

但这是我必须实施的要求。

她是我写为文件的流:

0 投票
1 回答
2449 浏览

java - 当我尝试对另一个路径进行 .relativize() 路径时,为什么会出现 ProviderMismatchException?

[注:自答题]

我已经FileSystem使用 java.nio 打开了一个 zip 文件。Path我从那个文件系统得到了一个:

现在我在本地文件系统上有一个目录,我使用以下方法获得:

我想测试是否/local/dir/path/into/zip存在,所以我使用以下方法检查它的存在:

但我得到一个ProviderMismatchException. 为什么?我该如何解决?

0 投票
1 回答
1129 浏览

java - retrieve local file using path java 7

how can you retrieve a local file using "java.nio.file.Paths" for java 7 or any other API . I have this line of code but it returns the wrong directory format.

Result when printing url is:

Supposed to be:

How can I get rid of that first / or is this a wrong method? Copied the two URLs in a windows explorer, the first one opens a webpage and cannot display, the second one opens the file I need.

0 投票
6 回答
69432 浏览

java - 监视 Java 更改的目录

我想查看目录中的文件更改。我在 java.nio 中使用了 WatchService。我可以成功监听文件创建事件。但我无法收听文件修改事件。我检查了官方 java 教程,但仍然很挣扎。

这是源代码。

0 投票
1 回答
3663 浏览

java - JDK8 中没有 java.nio.file

我安装了 JDK 8,编译器不会导入nio.file. 我正在使用 Windows 7 64 的 cmd.exe。Internet 上到处都有这个问题,因为他们有 JDK 6 或更早版本,我有 JDK 8,所以我不知道发生了什么。import java.nio.*;工作正常,但它仍然没有我需要的课程。我只是不断得到

编辑:正如我所说,我不使用 IDE,只使用记事本 + cmd.exe。javac -version结果javac 1.8.0

0 投票
3 回答
2514 浏览

java - Java Zip 文件系统提供程序:远程驱动器上的只读 [Windows]

我对Zip File System Provider有疑问:如果 zip 文件位于远程驱动器上(映射与否似乎无关紧要),则虚拟文件系统是只读的,尽管文件本身不是。我写了一个最小的示例代码:

如果 workingDir 是本地目录,则一切正常。但是,如果它是(映射的)远程驱动器,我会得到:

难道我做错了什么?这是不可能的吗?有解决方法吗?