You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在JavaScript Rhino中实现无修改文件复制的最简方案求助

解决方案

在Rhino环境中,你可以直接调用Java NIO的Files.copy方法完成无修改文件复制,之前失败大概率是路径转换或复制选项没处理到位。结合你已有的目录创建逻辑,最简实现如下:

// 定义源文件与目标文件路径
const source = new java.io.File("/pathA/filename");
const destination = new java.io.File("/pathB/filename");

// 确保目标文件的父目录存在(复用你的目录创建逻辑)
destination.getParentFile().mkdirs();

// 调用Java NIO完成复制,指定覆盖已存在文件的选项
const Files = java.nio.file.Files;
const StandardCopyOption = java.nio.file.StandardCopyOption;
Files.copy(source.toPath(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING);

关键注意点

  • 必须将java.io.File对象通过toPath()转换为NIO的Path对象,这是调用Files.copy的前提
  • 添加StandardCopyOption.REPLACE_EXISTING选项,避免目标文件已存在时抛出异常
  • 无需手动创建目标文件,Files.copy会自动创建(但父目录仍需提前创建)

如果你的JRE版本低于Java 7(不支持NIO.2),可以改用java.io的流实现,但既然你想避开流,优先确保环境支持Java 7+。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:29:52