Java复制、移动和删除文件

复制文件:

Files.copy(fromPath,toPath);

例如:

Files.copy(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"));// 将E:\\A.txt复制到F:\\A.txt

这是Java 的API(注意:没有copy(String,String);的方法的!):

Modifier and Type Method Description
static long copy(InputStream in, Path target, CopyOption... options) Copies all bytes from an input stream to a file.
static long copy(Path source, OutputStream out) Copies all bytes from a file to an output stream.
static Path copy(Path source, Path target, CopyOption... options) Copy a file to a target file.

移动文件(复制并删除源文件):

Files.move(fromPath,toPath);

例如:

Files.move(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"));//将E:\\A.txt移动到F:\\A.txt

如果目标路径已经存在,复制或移动将失败,抛出异常java.nio.file.FileAlreadyExistsException

覆盖已有的目标路径,使用StandardCopyOption.REPLACE_EXISTING;例如:

Files.move(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"), StandardCopyOption.REPLACE_EXISTING);

复制所有的文件属性,使用StandardCopyOption.COPY_ATTRIBUTES。

删除文件:

Files.delete(path);

例如:

Files.delete(Paths.get("E:\\A.txt"));//删除E:\\A.txt

如果删除文件不存在,会抛出异常java.nio.file.NoSuchFileException。因此,可以使用deleteIfExists(path)方法:

boolean deleted = Files.deleteIfExists(path);

 

posted @   James_Shangguan  阅读(3056)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示