问题标签 [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 投票
1 回答
996 浏览

java - 如何可靠地检测目录的原子移动失败,因为目标已经存在

在服务器中,我在首次访问资源时初始化资源的工作目录。服务器的多个进程处理的资源可能存在并行请求,这意味着我需要注意没有一个进程看到部分初始化的工作目录。解决方案是在一个临时的同级目录中初始化工作目录,然后Files.move使用StandardCopyOption.ATOMIC_MOVE.

如果两个进程同时初始化一个工作目录,则第二个原子移动失败。这不是一个真正的问题,因为工作目录已正确初始化,因此第二个进程只需要丢弃它创建的临时目录并继续。

我尝试使用以下代码执行此操作:

但是我注意到,仅仅捕捉FileAlreadyExistsException似乎是不够的。如果发生移动碰撞,还会引发其他异常。我不只是想捕获所有异常,因为这可能隐藏真正的问题。

那么有没有办法从 Files.move 抛出的异常中可靠地检测到由于目标目录已经存在而导致目录的原子移动失败?

0 投票
3 回答
4245 浏览

spring - 如何使用 @ConfigurationProperties 注入 java.nio.file.Path 依赖项

我正在使用 Spring Boot 并具有以下 Component 类:

以及以下 yaml 属性文件:

我想通过替换为 java.nio.file.Path 来删除 java.io.File (of setLocalDirectory) 的引用。但是,执行此操作时会收到绑定错误。有没有办法将属性绑定到路径(例如通过使用注释)?

0 投票
1 回答
5070 浏览

java - JMeter - 在类'java.nio.file.Paths'中找不到静态方法get(java.lang.String)

我正在尝试创建一个 JMeter 负载测试。我需要测试以获取示例日志文件并更改其名称。我能找到的唯一方法是将文件复制到 BeanShell 预处理器中,但出现以下错误:

我正在使用的代码如下:

filename、global_counter 和 file_counter 是 jmeter 变量。

有谁知道我为什么会收到这个错误?beanshell 预处理器是否不能以我尝试使用的方式工作?

0 投票
1 回答
2183 浏览

java - WatchService - 错误解析的绝对路径

我一直在玩 the java.nio.file.WatchService,并注意到从Paths 返回的 sWatchEvent.context()不正确返回.toAbsolutePath()。这是一个示例应用程序:

示例输出:

似乎绝对路径是针对user.dir系统属性解析的,而不是Path用于WatchService注册的。这是一个问题,因为当我尝试使用(例如Files.copy())从我收到的返回的路径时,WatchEvent我收到了一个java.nio.file.NoSuchFileException,这是预期的,因为在这个路径上没有这样的文件。我是否遗漏了什么或者这是 JRE 中的错误?

0 投票
2 回答
2341 浏览

java - 将字节数组写入文件的快速方法

在我的应用程序中,我使用 Files.write 和 org.jclouds.blobstore.domain.Blob.putBlob 将字节数组写入 4MB 文件。两者同时进行。第二个选项(jcloud)更快。

我很想知道是否有更快的方法将字节数组写入文件。如果我实现我的 Files.write 它会更好。

谢谢

0 投票
2 回答
887 浏览

java - java :将文件从一台机器复制到另一台机器会引发 java.nio.file.NoSuchFileException

我必须将文件从一台 Windows 机器复制到另一台机器(目标是虚拟机)。当我以普通用户身份执行它时,文件被成功复制并且: File f = new File(source); System.out.println(f.exists());

输出真。
当我以管理员身份打开 cmd 并运行相同的程序时,这段代码返回 false`。而在尝试的时候

我得到以下异常java.nio.file.NoSuchFileException......在这种情况下,当文件所在的远程计算机上的文件夹映射到驱动器时​​,例如

有人知道是什么原因吗?(或恭敬地有解决方案)?

0 投票
5 回答
9461 浏览

java - 使用资源处理临时文件

对于我的应用程序,我必须编写一个采用InputStreamas 参数的方法,将内容写入临时文件,执行一些操作并最终删除临时文件。

这是我到目前为止所拥有的:

它可以完成这项工作,但它看起来也很丑陋。我想知道是否有某种方法可以try-with-resources更优雅地处理这个问题。有可能吗?

更新:我在十分钟内写了一个即时解决方案。它看起来像这样:

我确信这不是最好的,但它现在可以完成工作。如果有人对如何以任何方式改进这一点有任何建议,我们非常欢迎提出建议。

0 投票
1 回答
2790 浏览

java - 为什么在使用 Files.copy() 在 linux 中复制文件时出现 NoSuchFileException。但在windows中工作正常。

嗨,我必须将文件从一个文件夹复制到另一个文件夹。这是我的代码。

这对我以前使用的所有模块都很好。但是仅对于一个特定的模块,它就会引发以下错误

相同的代码在 Windows 中运行良好。但是在linux中出现异常。注意:如果您要询问要复制到的文件夹是否存在,答案是肯定的。除了例外没有显示将文件复制到的文件夹。它显示文件当前所在的文件夹。

执行此代码时存在输入文件。但是为什么它看到了 NoSuchFile?

请帮我找出这里有什么问题。

0 投票
0 回答
156 浏览

scala - JavaFX Scala File-TreeView:读出 2 个级别

我想用 JavaFx 制作的 GUI 在 scala 中实现文件浏览器。因此我使用 TreeView 来表示树。

每当我单击一个项目(性能原因)时,此代码仅从树中读取一个级别,但树视图不显示缩进并且非空文件夹处的箭头丢失。

如果我读出 2 个级别(以检查文件夹是否为空),它只显示没有目录的文件。

你们中的任何人都知道这是如何工作的吗?

提前致谢!

这是我当前树视图的屏幕截图! 截屏

它应该看起来像这个屏幕 截图 Screenshot2

0 投票
1 回答
1352 浏览

java - Files.copy(src, dst) 抛出 NoSuchFileException

该程序:

在我的桌面上,sandeep.txt存在而不存在sandeep1.txt。我写了sandeep.txt一些我想复制到的文本sandeep1.txt(在创建之后)。但是当我尝试这样做时,它会抛出异常:java.nio.file.NoSuchFileException: C:\Users\k\Desktop\sandeep1.txt

有人问过这个问题,但仍然没有答案,所以我再次问这个问题。非常感谢您!

编辑:一开始我尝试了 Files.copy(src, dstn) 但它没有用所以我尝试了 Files.copy(dstn, src) 但它仍然没有用。在这里发帖时,我忘了把它改回来。现在我已经纠正了。请再看看。

已解决:我在创建文件时犯了一个错误。我创建了一个新的文本文件并将其命名为 sandeep.txt。所以实际上这个文件的名字是sandeep.txt.txt。我为自己犯了这个错误而感到尴尬,但我会记住很长时间。非常感谢你们付出了宝贵的时间。