Java7新特性--Path
2015-04-16 14:05
162 查看
官方API:http://docs.oracle.com/javase/7/docs/api/
官方文档:http://docs.oracle.com/javase/7/docs/index.html
在我学习使用lucene5.0的时候发现用到了Path,怎么点都点不进去,后来在网上查到是JDK7里边的东西,然后自己去获取Path对象却又不知道怎么获取,所以就去查找如何获取Path,就找到了这篇文章,亲自示范通过,然后发表一下希望能有所帮助。
例子如下:
运行结果:
官方文档:http://docs.oracle.com/javase/7/docs/index.html
在我学习使用lucene5.0的时候发现用到了Path,怎么点都点不进去,后来在网上查到是JDK7里边的东西,然后自己去获取Path对象却又不知道怎么获取,所以就去查找如何获取Path,就找到了这篇文章,亲自示范通过,然后发表一下希望能有所帮助。
例子如下:
package com.darren.test.jdk7; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** * Path是java1.7的nio.file包中的文件 操作的重要切入点,作为基础有必要了解下 */ public class PathTest { public static void main(String[] args) { // 获得path方法一,F:/test/jdk7/test.txt Path path = FileSystems.getDefault().getPath("F:/test/jdk7", "test.txt"); // 打印文件的所在的节点层数 System.out.println(path.getNameCount()); // 获得path方法二,用File的toPath()方法获得Path对象 File file = new File("F:/test/jdk7/test.txt"); Path pathOther = file.toPath(); // 0,说明这两个path是相等的 System.out.println(path.compareTo(pathOther)); // 获得path方法三 Path path3 = Paths.get("F:/test/jdk7", "test.txt"); System.out.println(path3.toString()); // join two paths Path path4 = Paths.get("F:/test/jdk7"); System.out.println("path4: " + path4.resolve("test.txt")); System.out.println("--------------分割线---------------"); try { if (Files.isReadable(path)) { // 注意此处的newBufferedRead的charset参数,如果和所要读取的文件的编码不一致,则会抛出异常 // java的新特性,不用自己关闭流 BufferedReader br = Files.newBufferedReader(path, Charset.defaultCharset()); // new BufferedReader(new FileReader(new File("F:/test/jdk7/test.txt"))); String line = ""; while ((line = br.readLine()) != null) { System.out.println(line); } } else { System.err.println("cannot readable"); } } catch (IOException e) { System.err.println("error charset"); } } }
运行结果:
3 0 F:\test\jdk7\test.txt path4: F:\test\jdk7\test.txt --------------分割线--------------- I am Darren
相关文章推荐
- java7新特性IO操作Path
- java7新特性介绍
- JAVA7新特性
- Java7中NIO学习之Path
- Java7 新特性集合(官方英文版)
- java7.的新特性!
- Java频道专家专栏上线 首期热评Java7新特性四大体验
- java7新特性——使用ThreadLocalRandom产生并发随机数
- java7新特性之新语法1
- 【为什么需要FabricPath】FabricPath是思科 Nexus交换机上的一项技术特性,其目标是在保证二层环境的前提下,提高性能。来看看为什么数据中心需要FabricPath?
- Java7的新特性尝试
- Oracle 11g新特性direct path read引发的系统停运故障诊断处理
- Java7新特性
- java7新特性(1)
- java7新特性之Simplified varargs method invocation
- Java7 新特性fork/join
- java7新特性--------final重抛
- java7语法新特性
- java7新特性之新语法2
- Java7 新特性 数值文本表示法