`
cucaracha
  • 浏览: 141251 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A8f3fa2f-18ce-3862-897a-5d2209197c90
Java NIO.2
浏览量:87808
7a076ba7-8ec8-3241-aa3c-67bb2f7856a2
Java EE 7 简明教...
浏览量:36660
社区版块
存档分类
最新评论

[NIO.2] 第十九篇 软链接与硬链接

阅读更多
对于 Unix 用户(特别是管理员)来说,要非常熟悉链接的概念。链接分为两种:软链接(符号链接)和硬链接。如果你是 Windows 用户,可能对链接不是很熟悉,但是 Windows 系统却完全支持它们,尤其是软链接,在 Windows 中通常叫做快捷方式。
NIO.2 同时支持这两种链接,每个 Path 类的方法都能判断当前文件是否为链接,并且按你的要求做相应的处理。

链接简介

当你只通过文件名就能得到文件,而不需要经过层层目录的时候,那么这个文件就被称为链接。链接分为软链接(符号链接)和硬链接。当一个文件的两个名字具有相同的权重,并且在索引节点表(inode table,在 Linux 中,文件并非直接放在目录中;而是分配了节点索引,用于 Linux 定位)中指向相同的硬盘数据,那么就称为硬链接。当一个文件存在一个主文件和一个额外的入口文件,这个入口文件中存有指回主文件的引用,那么就称为软链接。软链接比硬链接更为灵活,因此使用也更为广泛。下面看看这两种链接的主要异同:

  •     只能为文件创建硬链接,不能为目录创建硬链接;而软链接即可为文件创建,也可以为目录创建。
  •     硬链接不能跨文件系统存在;软链接可以跨文件系统存在。
  •     硬链接的目标文件必须存在;软连接的目标文件可以不存在。
  •     删除硬链接指向的目标文件并不会删除硬链接自身,并且硬链接依旧可以提供底层文件的内容;删除软链接指向的目标文件并不会删除软链接自身,但是删除了目标文件之后,软链接也就变成了一个无效的链接文件。
  •     删除硬链接或软链接,并不会影响目标文件。
  •     硬链接和目标文件是相同的实体,所有属性都完全一样;软链接则不相同。
  •     硬链接的行为和一个普通文件完全一样,因此硬链接很难被找到;软链接的目标文件可以不存在,因此软链接使用起来更为灵活。


文章来源:http://www.aptusource.org/2014/03/nio-2-symbolic-and-hard-links/
0
0
分享到:
评论

相关推荐

    Java IO, NIO and NIO.2(Apress,2015)

    Java I/O, NIO, and NIO.2 is a power-packed book that accelerates your mastery of Java's various I/O APIs. In this book, you'll learn about classic I/O APIs (File, RandomAccessFile, the stream classes ...

    java NIO.zip

    NIO的核心在于通道(Channels)和缓冲区(Buffers)的概念,与传统的流(Streams)有所不同。 1. **通道(Channels)**: 通道是NIO中的核心概念之一,它提供了从一个数据源(如文件、套接字)到另一个数据源的...

    Java IO, NIO and NIO.2 原版pdf by Friesen

    New I/O (NIO), and NIO.2 categories. You learn what each category offers in terms of its capabilities, and you also learn about concepts such as paths and Direct Memory Access. Chapters 2 through 5 ...

    Pro Java 7 NIO.2.pdf

    第九章讲解了异步通道API,这是NIO.2中另一个重要的改进。 ### 12. 总结 第十章总结了NIO.2中最重要的知识点。 综上所述,《Pro Java 7 NIO.2》是一本全面深入地介绍了Java 7中NIO.2特性的书籍,对于希望掌握Java...

    Java IO, NIO and NIO.2

    NIO.2还包含了许多其他的API扩展和改进,例如对符号链接的支持、文件属性访问、文件树遍历、WatchService等。 以上介绍了Java中的三种I/O机制。在实际开发中,它们各有适用场景。例如,Java IO适合进行传统的I/O...

    java nio.pdf

    java nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava nio.pdfjava ...

    NIO.2 入门,第 2 部分: 文件系统 API

    本篇我们将深入探讨NIO.2中的几个关键概念和类,包括`Files`, `Path`, `FileAttributes`, `DirectoryWatcher`以及`FileVisitor`。这些组件极大地增强了Java对操作系统文件系统的访问能力。 首先,`Path`接口是NIO.2...

    Java I/O, NIO and NIO.2

    NIO.2,又称为New I/O 2或Java NIO 2,是在Java 7中引入的进一步扩展,主要增加了文件系统操作的支持,包括异步I/O操作、文件通道、文件锁定以及对符号链接的支持。AsynchronousFileChannel是NIO.2中新增的异步I/O...

    Java NIO 中英文版 + Pro Java 7 NIO.2

    `Pro Java 7 NIO.2`这本书由Anghel Leonard著,深入探讨了Java NIO.2 API,这是Java 7引入的进一步扩展,包括: 1. **文件系统API增强**:新增了AsynchronousFileChannel,支持异步文件操作,可以在后台线程中执行...

    Java NIO.pdf

    Java NIO.pdf nio教程 Java NIO.pdf nio教程 java nio

    nio.rar_FastCopyFile.java_NIO_UseFloatBuffer.java_java nio_文件锁

    Java NIO(New Input/Output)是Java标准库中提供的一种I/O模型,与传统的BIO( Blocking I/O)相比,NIO具有更好的性能和更高的灵活性。NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。...

    Pro Java 7 NIO.2

    This book covers all the important aspects involved in developing NIO.2-based applications. It provides clear instructions for getting the most out of NIO.2 and offers many exercises and case studies ...

    ProJava7NIO.2PDFBooks.pdf 英文原版

    Pro Java 7 NIO.2 – PDF Books

    nio.zip_NIO_NewIO_NIO.c_java NIO chm_java nio

    `nio.c`可能是指C语言实现的NIO相关代码,这在Java NIO中不太常见,但可能是为了演示底层I/O操作的原理或与Java NIO进行性能比较。在Java中,NIO API通常由Java标准库提供,无需使用C代码。 `java_nio_chm`指的是...

    蔚来-NIO.US-新车上市,蔚来可期.pdf

    蔚来(NIO.US)新车上市,蔚来可期 蔚来(NIO.US)是一家中国的新能源汽车制造商,专注于生产高性能的电动汽车。 公司的目标是成为中国最大的新能源汽车品牌,并且跻身全球汽车行业的前列。 蔚来2025年目标价45.5...

    优雅的操作文件:java.nio.file 库介绍.pdf

    【java.nio.file库详解】 Java 早期版本的文件I/O操作功能相对有限,存在几个显著问题:不支持现代文件系统特性、API设计复杂且冗长、处理大文件和并发性能不足。为了解决这些问题,Java引入了`java.nio.file`库,...

Global site tag (gtag.js) - Google Analytics