《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.4 复制、移动和删除文件

2.5.4 复制、移动和删除文件

将文件从一个位置复制到另一个位置可以直接调用

移动文件(即复制并删除原文件)可以调用

如果目标路径已经存在,那么复制或移动将失败。如果想要覆盖已有的目标路径,可以使用REPLACE_EXISTING选项。如果想要复制所有的文件属性,可以使用COPY_ATTRIBUTES选项。也可以像下面这样同时选择这两个选项:

你可以将移动操作定义为原子性的,这样就可以保证要么移动操作成功完成,要么源文件继续保持在原来位置。具体可以使用ATOMIC_MOVE选项来实现:

你还可以将一个输入流复制到Path中,这表示你想要将该输入流存储到硬盘上。类似地,你可以将一个Path复制到输出流中。可以使用下面的调用:

至于其他对copy的调用,可以根据需要提供相应的复制选项。
最后,删除文件可以调用:

如果要删除的文件不存在,这个方法就会抛出异常。因此,可转而使用下面的方法:

该删除方法还可以用来移除空目录。
请查阅表2-3以了解对文件操作而言可用的选项。

时间: 2024-10-24 12:29:03

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.4 复制、移动和删除文件的相关文章

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.2 读写文件

2.5.2 读写文件 Files类可以使得普通文件操作变得快捷.例如,可以用下面的方式很容易地读取文件的所有内容: 如果想将文件当作字符串读入,那么可以在调用readAllBytes之后执行下面的代码: java.nio.file.Files 7 打开一个文件,用于读入或写出.

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.5 获取文件信息

2.5.5 获取文件信息 下面的静态方法都将返回一个boolean值,表示检查路径的某个属性的结果: exists isHidden isReadable, isWritable, isExecutable isRegularFile, isDirectory, isSymbolicLink size方法将返回文件的字节数: getOwner方法将文件的拥有者作为java.nio.f?ile.attribute.UserPrincipal的一个实例返回. 所有的文件系统都会报告一个基本属性集,它

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5.3 创建文件和目录

2.5.3 创建文件和目录 创建新目录可以调用 其中,路径中除最后一个部件外,其他部分都必须是已存在的.要创建路径中的中间目录,应该使用 可以使用下面的语句创建一个空文件: 如果文件已经存在了,那么这个调用就会抛出异常.检查文件是否存在和创建文件是原子性的,如果文件不存在,该文件就会被创建,并且其他程序在此过程中是无法执行文件创建操作的. 有些便捷方法可以用来在给定位置或者系统指定位置创建临时文件或临时目录: 其中,dir是一个Path对象,pref?ix和suff?ix是可以为null的字符串

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读

前 言 致读者 本书是按照Java SE 8完全更新后的<Java核心技术 卷Ⅱ 高级特性(原书第10版)>.卷Ⅰ主要介绍了Java语言的一些关键特性:而本卷主要介绍编程人员进行专业软件开发时需要了解的高级主题.因此,与本书卷Ⅰ和之前的版本一样,我们仍将本书定位于用Java技术进行实际项目开发的编程人员. 编写任何一本书籍都难免会有一些错误或不准确的地方.我们非常乐意听到读者的意见.当然,我们更希望对本书问题的报告只听到一次.为此,我们创建了一个FAQ.bug修正以及应急方案的网站http:/

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一第3章 XML

第3章 XML ▲ XML概述 ▲ 使用命名空间 ▲ 解析XML文档 ▲ 流机制解析器 ▲ 验证XML文档 ▲ 生成XML文档 ▲ 使用XPath来定位信息 ▲ XSL转换 Don Box等人在其合著的<Essential XML>(Addison-Wesley出版社2000年出版)的前言中半开玩笑地说道:"可扩展标记语言(Extensible Markup Language,XML)已经取代了Java.设计模式.对象技术,成为软件行业解决世界饥荒的方案."确实,正如你将在

《Java语言导学(原书第6版)》一导读

前 言 自2010年年初Oracle公司收购Sun公司以来,Java语言迎来激动人心的时代.正如Java Community Process计划的活动所印证的,Java语言将不断发展.本书基于Java SE 8(Java Platform Standard Edition 8)并引用其API. 相比本书第5版(针对的是Java版本7),第6版有一些新特点: Lambda表达式使得功能可作为方法参数使用,代码作为数据使用.Lambda表达式描述单个方法接口(也称为功能接口)的实例会更简洁.4.4.

《Java语言导学(原书第6版)》一1.1 关于Java技术

1.1 关于Java技术 大家都在谈Java技术,但Java技术到底是什么?本节解释Java技术如何成为程序语言和平台,并概述Java技术的功能特性. 1.1.1 Java程序语言 Java程序语言是一种高级的编程语言,它具备如下性质: 简单 面向对象 分布式 多线程 动态 架构中立 可移植 高性能 强壮 安全 上述术语的定义可参考James Gosling和Henry McGilton的白皮书<The Java Language Environment>. 图1-1描述了Java应用程序开发

《Java语言导学(原书第6版)》一一1.1 关于Java技术

1.1 关于Java技术 大家都在谈Java技术,但Java技术到底是什么?本节解释Java技术如何成为程序语言和平台,并概述Java技术的功能特性.1.1.1 Java程序语言 Java程序语言是一种高级的编程语言,它具备如下性质: 简单 面向对象 分布式 多线程 动态 架构中立 可移植 高性能 强壮 安全 上述术语的定义可参考James Gosling和Henry McGilton的白皮书<The Java Language Environment>. 图1-1描述了Java应用程序开发的