在文件系统中,将会以某种方式在一个或多个硬盘驱动器上存放文件,以便查找。大多数文件系统都是以树形结构来存储文件。树的最顶层节点叫做根节点。根节点下可以包含文件和子目录,子目录下又可以包含文件和子目录,以此循环下去。
什么是文件路径?
下图展示了一个简单的包含根节点的目录树。Windows 系统支持多个根节点,每个根节点表示一个磁盘分区,例如 C:\ 或 D:\。而 *nix 系统只支持一个根节点,根节点由正斜线表示:/。
在文件系统中,每个文件都由唯一的文件路径来标识,并且都开始于根目录,在 *nix 系统中文件路径是:
/home/sally/statusReport
在 Windows 系统中文件路径是:
C:\home\sally\statusReport
用来分隔子目录之间的分隔符各个系统之间各不相同,在 *nix 中使用正斜线(/),在 Windows 系统中使用反斜线(\)。
相对路径和绝对路径
文件路径分为相对路径和绝对路径。绝对路径总是包含根节点并且包含了能够定位到文件的所有目录信息。例如 /home/sally/statusReport 就是一个绝对路径。
相对路径必须要和另外一个路径拼接才能定位到文件,例如 joe/foo 就是一个相对路径。如果没有更多的信息的话,相对路径不能准确地定位到文件。
符号链接/软链接(Symbolic Links)
文件系统中最典型的对象是文件和目录。但是在有的文件系统中还提供了符号链接,符号链接也叫做软链接。
一个符号链接是一个特殊的文件,它指向另一个目标文件。大多数情况下,对与应用程序来说,符号链接都是透明的,所有对符号链接的操作都会自动执行到目标文件上。例外的情况是,当对符号链接进行重命名或删除操作的时候,只会重命名和删除符号链接本身,而不会影响到目标文件。
对于用户来说,符号链接是透明的,对符号链接进行读写操作相当于对目标文件进行读写操作。
大多数文件系统都允许自有地使用符号链接。在创建符号链接的时候要小心循环引用。循环引用是指链接的目标文件最终又指向了原始的链接。例如,目录 a 指向目录 b ,目录 b 指向目录 c ,c 下面有子文件夹又指向目录 a。当程序在递归目录结构的时候,循环引用可能会造成很严重的问题。
文章来源:
http://www.aptusource.org/2014/03/what-is-path/
- 大小: 13.5 KB
分享到:
相关推荐
在Java的NIO.2(New IO 2.0)框架中,文件系统API提供了更加高效和灵活的方式来处理文件和目录。本篇我们将深入探讨NIO.2中的几个关键概念和类,包括`Files`, `Path`, `FileAttributes`, `DirectoryWatcher`以及`...
根据提供的文件信息,“Pro Java 7 NIO.2.pdf”由Anghel Leonard于2011年编写,主要介绍了Java 7中的新输入/输出(NIO)API,特别是NIO.2(JSR 203)所带来的增强功能。这本书通过一系列章节详细讲解了如何使用NIO.2...
Java IO、NIO以及NIO.2是Java中用于处理输入/输出操作的三种主要机制。本书《Java IO, NIO and NIO.2》旨在深入浅出地介绍这些机制,同时书中内容均为英文。接下来将详细介绍这些知识点。 **Java IO** Java IO是...
标题"指定文件路径下所有文件名和路径"所指的知识点主要涉及如何遍历一个目录及其子目录,获取其中所有文件的名称和它们完整的路径。这种功能在编程中常常用于文件管理、备份、分析或者日志记录等场景。 描述中提到...
- **示例**:`s.substring(s.lastIndexOf("/")+1)` 从最后一个斜杠后的第一个字符开始截取字符串。 ### 3. 示例代码解析 ```java public class Text3 { public static void main(String[] args) { String s = "c...
在Java编程中,文件监控是一项重要的任务,它允许开发者跟踪文件系统的变动,比如文件的创建、修改、删除等事件。这种功能在日志系统、数据同步、配置文件更新等多种场景中都有广泛的应用。本篇文章将深入探讨如何在...
1. 文件路径的编码转换: - 使用`new File(String path)`构造File对象时,Java会尝试将路径字符串转换为平台相关的字节序列。如果路径包含非ASCII字符(如中文),可能需要手动进行编码转换。可以使用`URLEncoder....
在Java编程中,监视文件或目录的修改是常见的需求,比如日志监控、配置文件实时更新等场景。本文将深入探讨如何使用Java实现文件修改变更的监控。 首先,Java提供了`java.nio.file`包,其中的`WatchService`接口为...
8. 文件权限管理:Java 7引入了NIO.2,提供了`java.nio.file.Files`和`java.nio.file.attribute`包,可以进行文件权限的设置和查询。 9. 文件监控:通过`java.nio.file.FileSystem`和`java.nio.file.FileSystems`类...
在IT行业中,文件操作是日常开发和系统管理中不可或缺的一部分,尤其在处理数据存储、传输和备份时。本实例“实例83_文件操作_拷贝文件”关注的是如何在不同的操作系统环境下复制文件,这是编程和系统管理中的基础...
本篇文章将详细介绍两种常用的方法来检测Java程序中的文件编码:一是使用`cpdetector`第三方库,二是通过自定义的`EncodingDetect.java`工具类。 1. **cpdetector第三方库** `cpdetector`是一个开源的Java库,它...
shutil.copy2('源文件路径', '目标文件路径') # 复制目录 shutil.copytree('源目录路径', '目标目录路径') ``` 在Java中,我们可以使用`java.nio.file`包中的`Files`类以及`Paths`类来实现文件和目录的复制。`...
// 替换为实际文件路径 if (file.exists()) { try { Path filePath = file.toPath(); BasicFileAttributes attrs = Files.readAttributes(filePath, BasicFileAttributes.class); FileTime creationTime = ...
配置文件通常用于存储应用程序的设置,如数据库连接信息、服务器端口、第三方服务的API密钥等,这些信息可能需要根据不同的环境或需求进行更改。在Java中,我们可以使用多种方法来读取配置文件,下面将详细介绍几种...
Java NIO,全称为New Input/Output,是Java在1.4版本引入的一个新特性,是对标准I/O(BIO)的一种补充和扩展。NIO提供了与标准I/O不同的I/O工作方式,使得处理大量的并发连接变得更加高效。在这个课程中,IT十八掌...
1. 文件路径:绝对路径和相对路径,了解如何在不同操作系统上正确指定文件位置。 2. 文件权限:读、写、执行权限,确保程序有适当的访问权限。 3. 异常处理:文件操作可能会抛出IOException,因此需要进行适当的异常...
这个方法接受两个参数,分别是源文件路径和目标文件路径,能够实现文件的完整复制。 4. **运行时备份**: "当本java文件运行时即备份本文件"意味着程序包含了自备份逻辑。这通常涉及到在主程序入口点(如`main`方法...
在IT行业中,转换文件格式是一项常见的任务,尤其是在文档处理领域。本资源提供的“itextpdf-5.5.13.jar”,“jacob.jar”以及“jacob.dll”文件是针对Java环境下的文件转PDF操作的重要组件。这些工具库允许开发者...