File IO(NIO.2):什么是路径?
来源:互联网 发布:淘宝英雄联盟 编辑:程序博客网 时间:2024/06/07 01:35
简介
文件系统以某种形式的媒体(通常为一个或多个硬盘驱动器)存储和组织文件,使得它们可以容易地被检索。目前使用的大多数文件系统将文件存储在树形(或分层)结构中。在树的顶部是一个(或多个)根节点。在根节点下,有文件和目录(Microsoft Windows中的文件夹)。每个目录可以包含文件和子目录,这些文件和子目录又可以包含文件和子目录,等等,潜在地几乎是无限的深度。
什么是路径?
下图显示了包含单个根节点的示例目录树。 Microsoft Windows支持多个根节点。每个根节点映射到一个卷,如C:\或D:\。 Solaris OS支持单根根节点,用斜杠字符表示。
通过文件系统的路径来识别文件,从根节点开始。 例如,上图中的statusReport文件通过Solaris操作系统中的以下符号来描述:
/home/sally/statusReport
在Microsoft Windows中,statusReport由以下符号描述:
C:\home\sally\statusReport
用于分离目录名称(也称为分隔符)的字符特定于文件系统:Solaris OS使用正斜杠(/),Microsoft Windows使用反斜杠斜杠(\)。
相对还是绝对?
路径是相对的或绝对的。绝对路径总是包含根元素和找到文件所需的完整目录列表。例如,/ home / sally / statusReport是绝对路径。找到文件所需的所有信息都包含在路径字符串中。
相对路径需要与另一路径组合才能访问文件。例如,joe / foo是一个相对路径。没有更多信息,程序无法在文件系统中可靠地找到joe / foo目录。
符号链接
文件系统对象通常是目录或文件。每个人都熟悉这些对象。但是一些文件系统也支持符号链接的概念。符号链接也称为符号链接或软链接。
一个符号链接是一个专用文件,用作另一个文件的参考。在大多数情况下,符号链接对应用程序是透明的,符号链接的操作将自动重定向到链接的目标。 (指向的文件或目录被称为链接的目标。)异常是当符号链接被删除或重命名时,链接本身被删除或重命名,而不是链接的目标。
在下图中,logFile似乎是用户的常规文件,但它实际上是一个到dir / logs / HomeLogFile的符号链接。 HomeLogFile是链接的目标。
符号链接通常对用户是透明的。读取或写入符号链接与读取或写入任何其他文件或目录相同。
解决链接的短语意味着将文件系统中的实际位置替换为符号链接。在该示例中,解析logFile将生成dir / logs / HomeLogFile。
在现实世界的场景中,大多数文件系统都能自由地使用符号链接。偶尔,一个不小心创建的符号链接可能导致循环引用。当链接的目标指向原始链接时,会发生循环引用。循环引用可能是间接的:目录a指向目录b,它指向目录c,其中包含一个指向目录a的子目录。循环引用可能会导致程序递归走路目录结构时的破坏。但是,这种情况已被考虑,并且不会导致您的程序无限循环。
下一页讨论了Java编程语言Path类中文件I / O支持的核心。
阅读全文
0 0
- File IO(NIO.2):什么是路径?
- File IO(NIO.2):路径类 和 路径操作
- File IO(NIO.2):文件操作
- File IO(NIO.2):读、写并创建文件
- [NIO日记](2)NIO vs IO
- 什么是NIO,与传统IO区别
- java.io.File中的绝对路径和相对路径. (转载)
- Java I/O流(二)——File,Properties,PrintWriter,IO ,RandomAccessFile,ByteBuffer,nio
- nio.2 nio 和传统io
- io-nio-socket步步为营(三)NIO
- java.io.File使用相对路径
- java.io.File使用相对路径
- IO学霸2 -- NIO
- java IO NIO (转)
- NIO(new io简称)
- ThingInJava-IO笔记(NIO)
- 什么是NIO
- io nio
- mysql 查询当天、本周,本月,上一个月的数据
- 读写优先问题
- org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
- 25个常用的Linux iptables规则
- Web上的用户登录功能安全
- File IO(NIO.2):什么是路径?
- 将博客搬至CSDN
- ABAP COLLECT语句用法深入解析
- Mysql数据库安装及配置
- 华为推送的自定义推送与自定义字段
- 运维之思科篇 -----3.HSRP(热备份路由协议),STP(生成树协议),PVST(增强版PST)
- QThread报错: Cannot create children for a parent that is
- PHP如何获取二维数组的长度详解
- SQL模糊查询%_^[]和Escape转义字符