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

[NIO.2] 第四篇 从 Path 对象获取信息

阅读更多
在定义了 Path 对象后,你就可以调用它上面的一系列方法获取关于文件路径的有用信息。这些方法都基于一个前提条件,就是 NIO.2 将路径字符串分隔为一个个的元素(每个元素表示一个目录或文件的子路径),并且将元素由高到低分配索引 0 到 n-1(n 指元素的个数)。一般情况下,根下的第一个目录将会分配索引 0,随后索引递增。本文的例子都是基于 C:\rafaelnadal\tournaments\2009\BNP.txt 的 Path 对象:

Path path = Paths.get("C:", "rafaelnadal/tournaments/2009", "BNP.txt"); 


获取文件或目录名

调用 Path 对象的 getFileName() 方法将会返回离根目录最远的文件或文件夹名称:
//output: BNP.txt 
System.out.println("The file/directory indicated by path: " + path.getFileName()); 


获取根目录 Path 对象

调用 Path 对象的 getRoot() 方法将会返回根目录 Path 对象,如果没有根目录则会返回 null:

//output: C:\ 
System.out.println("Root of this path: " + path.getRoot()); 


获取父目录 Path 对象

调用 Path 对象的 getParent() 方法将会返回父目录的 Path 对象,如果没有父目录则会返回 null:

//output: C:\rafaelnadal\tournaments\2009 
System.out.println("Parent: " + path.getParent()); 


获取 Path 对象中的元素名称

调用 Path 对象的 getNameCount() 方法可以返回 Path 对象上所有元素的个数,再调用 getName() 方法可以获得每个元素的名称:
//output: 4 
System.out.println("Number of name elements in path: " + path.getNameCount()); 
 
//output: rafaelnadal  tournaments  2009  BNP.txt 
for (int i = 0; i < path.getNameCount(); i++) { 
  System.out.println("Name element " + i + " is: " + path.getName(i)); 
} 


获取 Path 中的子路径

调用 Path 对象的 subpath() 方法可以提取路径中的子路径信息,这个方法有两个参数分别表示元素索引的开始和结束:

//output: rafaelnadal\tournaments\2009 
System.out.println("Subpath (0,3): " + path.subpath(0, 3)); 


文章来源:http://www.aptusource.org/2014/03/nio-2-get-information-from-path/
分享到:
评论

相关推荐

    Pro Java 7 NIO.2.pdf

    根据提供的文件信息,“Pro Java 7 NIO.2.pdf”由Anghel Leonard于2011年编写,主要介绍了Java 7中的新输入/输出(NIO)API,特别是NIO.2(JSR 203)所带来的增强功能。这本书通过一系列章节详细讲解了如何使用NIO.2...

    java读取.properties配置文件的几种方法

    在Java编程中,读取`.properties`配置文件是常见的任务,这些文件通常用于存储应用程序的配置参数、系统设置等信息。下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`...

    File Organization lec 1_java_

    8. **Path API**: 从Java 7开始,`java.nio.file.Paths`和`java.nio.file.Path`提供了更简洁的路径操作方式,如获取绝对路径、合并路径等。 9. **文件复制和移动**: 使用`Files.copy()`和`Files.move()`方法可以...

    Android 解压,解决乱码问题

    6. **使用第三方库**:例如,使用`zip4j`库解压文件时,可以设置`ZipFile`对象的`charset`属性为预期的字符集,如`zipFile.setCharset(Charset.forName("UTF-8"))`。 7. **Java NIO**:Java的NIO提供了对文件名编码...

    java语言程序设计基础篇第十版课后习题答案.zip

    2. **环境配置**:学习Java的第一步是安装JDK(Java Development Kit),并设置好环境变量,包括JAVA_HOME、PATH和CLASSPATH,以便于编译和运行Java程序。 3. **基础语法**:包括数据类型(基本类型如int、float,...

    java实现,简单文件监控

    2. **注册监控目录**:接着,我们使用`File.toPath()`方法将`File`对象转换为`Path`对象,然后调用`Path.register(WatchService, WatchEvent.Kind&lt;?&gt;...)`方法,传入需要监听的事件类型。常见的事件类型有`ENTRY_...

    java平台读写ini配置文件(可读网络配置文件)

    如果你的应用需要处理多个配置文件,你可以创建多个`Ini`对象,或者将所有配置信息存储在一个大的`Ini`对象中,用不同的节来区分不同的文件。 6. **错误处理和优化** 在实际开发中,务必处理可能的异常,例如文件...

    fileTest.rar

    3. **处理FFmpeg的输出**:`Process`对象可以用来获取FFmpeg的输出信息,包括错误日志和进度信息。通过`getInputStream()`和`getErrorStream()`方法读取。 4. **异常处理**:确保处理可能的错误情况,如文件不存在、...

    java上传照片的方法

    - `java.io.File` 类是处理文件的核心类,可以用来创建、删除、重命名文件,获取文件路径、大小等信息。 - 使用 `FileInputStream` 和 `FileOutputStream` 进行文件的读写操作。在上传照片时,我们需要读取选定的...

    Java基础知识总结 - 超详细篇收藏.zip

    1. **Java环境搭建**:学习Java的第一步是安装JDK(Java Development Kit),配置好环境变量,包括JAVA_HOME、PATH和CLASSPATH,以便在命令行中执行Java程序。 2. **Java语法基础**:这包括了解基本的数据类型(如...

    上传文件工具类

    这通常会用到`java.nio.file.FileSystems`和`java.nio.file.Path`来获取文件信息,或者使用MIME类型检测库如Apache Tika。 此外,为了优化性能,文件上传工具类可能使用了多线程或者异步处理。Java的并发API,如`...

    Java程序设计教程ppt第四版本

    Java程序设计教程是学习Java编程语言的重要参考资料,第四版本的PPT教程通常会包含更新的内容,以适应Java语言的发展和最新技术趋势。本教程旨在帮助初学者和有一定基础的开发者深入理解Java的核心概念,掌握其编程...

    文件搜索

    1. **基本文件操作**:使用`File`类,可以创建、删除、重命名文件或目录,获取文件的基本信息如大小、路径、是否存在等。例如,`new File("path").exists()`检查文件是否存在,`file.delete()`用于删除文件。 2. **...

    将某表示文件路径的字符串的文件名分离出文件路径

    例如,`java.nio.file.Path` 和 `java.nio.file.Paths` 类提供了更简洁和强大的API来处理文件路径。使用这些API可以更方便地解析、构建和操作文件路径。 #### 5.3 异常处理 在实际应用中,还需要考虑一些异常情况...

    java核心技术 卷II 英文版+源码 第十版

    3. **网络编程**:涵盖套接字编程,客户端/服务器模型,以及NIO(非阻塞I/O)和NIO.2(Java 7引入的新特性)。 4. **异常处理**:详细介绍了异常的分类、捕获、处理以及自定义异常,强调了良好的异常处理策略。 5....

    java基础篇,开发指南

    2. **环境配置**:学习Java的第一步是安装Java Development Kit(JDK)并配置环境变量,包括JAVA_HOME、PATH和CLASSPATH,以确保系统能够正确识别Java编译器和解释器。 3. **语法基础**:Java的基础语法包括数据...

    2010最新 java 开发必备参考手册 chm

    5. 反射(Reflection):在运行时动态获取类的信息并操作类的对象。 四、异常处理 详述Java的异常处理机制,包括异常的分类(检查型异常和运行时异常)、try-catch-finally结构、throw和throws关键字。 五、Java...

    官网版的linux jdk1.7 64位

    这个版本引入了许多新特性,如Try-with-resources语句、多线程改进、类型推断(即钻石操作符)、文件系统API(NIO.2)以及更强大的字符串处理功能。 在Linux环境下,64位JDK 1.7确保了对大型内存需求应用的支持,...

    java2实用教程

    16. **反射与动态代理**:理解反射机制,通过Class类获取类的信息,以及动态代理的实现。 17. **Java应用开发**:介绍Maven或Gradle构建工具,以及Spring框架、Hibernate框架等企业级开发中的应用。 这些知识点...

Global site tag (gtag.js) - Google Analytics