java.nio.file中的Paths类
创建Path实例 Path p1 = Paths.get("/tmp/foo"); Path类接受String或URI作为参数。 获取路径信息 |
import java.nio.file.Paths; import java.nio.file.Path; public class Test{public static void main(String args[]){Path path = Paths.get("C:\\home\\joe\\foo"); // Microsoft Windows syntax //Path path = Paths.get("/home/joe/foo"); // Solaris syntax System.out.println("path.toString()--"+path.toString()); System.out.println("path.getName(1)--"+path.getName(1)); System.out.println(path.getName(0)); System.out.println(path.getNameCount()); System.out.println(path.subpath(0,2)); System.out.println(path.getParent()); System.out.println(path.getRoot()); } }
运行:
C:\ex>java Test
path.toString()--C:\home\joe\foo
path.getName(1)--joe
getName(0): home
getNameCount: 3
home\joe
getParent: C:\home\joe
getRoot: C:\
//java7新特性IO操作Path 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包中的文件 * 操作的重要切入点,作为基础有必要了解下 * @author zKF57533 */ public class TestPath { public static void main(String[] args) { //获得path方法一,c:/ex/access.log Path path = FileSystems.getDefault().getPath("c:/ex", "access.log"); System.out.println(path.getNameCount()); //获得path方法二,用File的toPath()方法获得Path对象 File file = new File("e:/ex/access.log"); Path pathOther = file.toPath(); //0,说明这两个path是相等的 System.out.println(path.compareTo(pathOther)); //获得path方法三 Path path3 = Paths.get("c:/ex", "access.log"); System.out.println(path3.toString()); //join two paths Path path4 = Paths.get("c:/ex"); System.out.println("path4: " + path4.resolve("access.log")); System.out.println("--------------分割线---------------"); try { if(Files.isReadable(path)){ //注意此处的newBufferedRead的charset参数,如果和所要读取的文件的编码不一致,则会抛出异常 //java的新特性,不用自己关闭流 BufferedReader br = Files.newBufferedReader(path, Charset.defaultCharset());//new BufferedReader(new FileReader(new File("e:/logs/access.log")));// 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"); } } }
运行:
C:\ex>java TestPath
2
-2
c:\ex\access.log
path4: c:\ex\access.log
--------------分割线---------------
aa
bb
cc
java.nio.file中的Paths类相关推荐
- Java文件– java.nio.file.Files类
Java Files class was introduced in Java 1.7 and is a part of java.nio.file package. Java Files类是Java ...
- 了解java.nio.file.Path – 1
介绍 Java的最后几个发行版本,即Java 7,Java 8和即将到来的Java 9,具有许多功能,这些功能使Java开发人员的生活更加轻松. (我知道Java 9会使它变得更困难,但是只有在您采用 ...
- 了解java.nio.file.Path – 2
在本文的第1部分中,我们研究了java.nio.file.Path类中的大多数API. 在本文中,我们将介绍其余的API. 使用register() 该API允许我们注册java.nio.file.W ...
- 【错误记录】Flutter 混合开发报错 ( java.nio.file.FileSystemException: xxx/R.jar: 另一个程序正在使用此文件,进程无法访问。 )
文章目录 一. 报错信息 二. 解决方案 一. 报错信息 Flutter 混合开发项目 : 在 Android 项目中 , 嵌入了 Flutter 页面 , 不小心运行了下 Flutter 项目 , ...
- java.nio.file.FileSystemException: xxx: Too many open files
前言 linux Redhat 7.0 spring boot 2.0.x jdk1.8 长时间运行程序后,出现java.nio.file.FileSystemException: xxx: Too ...
- java.nio.file 找不到_java - 断言该错误:无法访问路径(找不到java.nio.file.Path) - 堆栈内存溢出...
我想使用Robolectric进行单元测试,但是我正在尝试使用robolectric进行简单测试,因此一开始我很困惑. 我遵循了手册,对示例进行了同样的操作,甚至其他帖子也无济于事. 每次收到错误消息 ...
- 解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload
文章长了点,着急解决问题的朋友可以直接看最后(三). 解决java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload 一.查看报错日志 二. ...
- okHttp使用中报Could not find method java.nio.file.Files.newOutputStreamo警告问题
最近在使用okHttp过程中总是报下面的警告 I/dalvikvm﹕ Could not find method com.squareup.okhttp.internal.huc.HttpURLCon ...
- java.nio.file.NoSuchFileException异常解决
项目场景: 线上环境做做数据导入操作 问题描述 项目中有一个数据导入的功能,在调用接口时,返回接口异常. 异常信息如下: 2022-09-01 15:13:16.530 [XNIO-1 task-30 ...
- spring-boot 文件上传异常java.lang.RuntimeException: java.nio.file.NoSuchFileException: /tmp/undertow.51230
问题描述 今天服务器上面的spring-boot应用突然出现文件上传异常, Failed to parse multipart servlet request; nested exception i ...
最新文章
- 基于OpenCV的实时面部识别
- 如何在XAF中显示自定义窗体和控件
- 这也不能一直在这儿瞎忙活
- Go 语言编程 — validator 数据校验工具
- centos -bash: vim: command not found
- easyui中onchange事件_React中类似Vue的“模板语法”
- 空格分隔输出(信息学奥赛一本通-T1026)
- 【BZOJ3555】企鹅QQ,第一次正确的使用哈希A题
- 2019安装软件安装管家_【软件安装管家】Br 2019软件安装包+安装教程
- 索引法则--字符串不加单引号会导致索引失效
- javascript面试题(一)
- 装修软件平台开发的优势
- 为什么要学好数据结构和算法
- 摄像头设计工程师面试技巧_系统设计面试准备的5个技巧
- 硬盘格式转换:MBR转换到GPT怎么转?
- EXCEL和公式里的 通配符
- c#运用——简体字转繁体字
- 苹果5完美越狱_iOS 9.3.5如何越狱 iOS 9.3.5免费越狱教程「步骤详解」
- wow Warlock shushia PVP DZ
- DZY Loves Math 系列详细题解
热门文章
- MySQL索引类型总结和使用技巧以及注意事项(转)
- artDialog双击会关闭对话框的修改
- ios GCD多线程
- C++中常引用的注意事项以及常引用和非常引用之间的转换
- android runtime异常,在做android下拉刷新时遇到异常java.lang.RuntimeException: Can't create handle...
- cors java 安全问题_使用CORS实现JavaWeb跨域请求问题的方法
- mysql hive 安装 配置_Hive与MySQL安装配置
- linux 主机支持远程唤醒_linux 通过wol远程开机【转】
- html编写个人博客_云开发平台开箱,3分钟零基础搭建个人Hexo博客
- java技术分享ppt_精美PPT制作培训 | 技术二部内部分享