java用符号断开取前面_java-如何读取断开的符号链接指向的路径?
如果symlink是与符号链接相对应的File对象,则:
File target = symlink.getCanonicalPath();
…成功返回它指向的目标. Paths#toRealPath()在相同情况下也可以使用.
但是,如果符号链接断开(悬挂),则以上两个API均无法返回表示其指向的(不存在的)东西的文件(或路径).
我正在编写一个工具,即使对于悬挂的符号链接,也需要能够读取这些值.我使用什么API获取符号链接指向的文件或目录(无论符号链接正确还是损坏)?
更新
根据接受的答案,可以使用以下方法获得符号链接的目标(甚至是断开的链接):
Path target = Files.readSymbolicLink(Paths.get("/some/directory/symlink"));
…如果目标是相对的,则可以通过执行以下操作根据找到符号链接本身的位置取消引用:
Paths.get("/some/directory/symlink").resolveSibling(".").resolve(target);
解决方法:
您可以使用Java的nio文件系统api:
Path target = Files.readSymbolicLink(Paths.get("/symlink"));
标签:java
来源: https://codeday.me/bug/20191026/1935007.html
java用符号断开取前面_java-如何读取断开的符号链接指向的路径?相关推荐
- java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...
使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...
- java字符串根据分隔符取值_java中解析含分隔符的字符串
java中解析含分隔符的字符串 (2010-03-24 16:43:58) 标签: 杂谈 字符串的分隔对于一个以某种分隔符标识字段的字符串,如果想得到串中每个字段项,常用的分隔方法能3种. 设args ...
- java中map怎么取值_java中map的取值
package com.itcast.map; import java.util.HashMap; import java.util.Map; import java.util.Set; import ...
- java中between的取值_Java中的between()方法的持续时间
可以使用between()Java中Duration类中的方法获得两个时间对象之间的持续时间.此方法需要两个参数,即开始持续时间和结束持续时间.同样,它返回这两个时间持续时间对象之间的持续时间. 演示 ...
- java負數能取余_Java别说取余(%)运算简单,你真的会吗?-Go语言中文社区
一,直击现场 下面我来抛出几道题: 说明m是商,n是余数: (1)正数%正数 3%2=m--.n 2%3=m--.n (2)正数%负数或者负数%正数 -3%2=m--.n 3%-2=m--.n -2% ...
- java多层map嵌套取值_java中map的多层遍历
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Map> testmap=new HashMap>();Map user1=new HashMap();user1.put(1, (float ...
- java计算文件里的总分_java程序读取txt文件并计算总分 求帮忙
展开全部 你这个不难,就是字符串处理, 你的文件修改下:每行两两元素636f70793231313335323631343130323136353331333332636336之间的空格用一个,如果超 ...
- java读文件几种方式_java中读取文件的方式有哪几种
java中读取文件的方式有哪几种 发布时间:2020-06-19 13:36:48 来源:亿速云 阅读:135 作者:鸽子 读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和 ...
- Java获取文档页数_java准确读取word文件页数
由于本人在做一个网上打印网站,遇到了一个需求是"准确读取word文件页数,从而实现计费功能",通过很长时间的学习.查资料后,终于解决了这个问题,因此把方法写出来,方便有同样需求的人 ...
最新文章
- 利用openfiler建立仲裁磁盘
- NLP能否像人脑一样工作?CMU、MIT三篇论文详解机器和大脑范畴下NLP的关系
- python文件传输模块ftplib模块的使用
- Calendar的获取变化日期
- Java Stream简介, 流的基本概念.
- Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...
- java map扩容机制_java中ConcurrentHashMap的扩容机制是怎样的?详细解析
- 别让for循环毁了你的程序(一)
- 从C语言到C++的进阶之C到C++的转变(篇一)
- COSCon'20 Apache Roadshow- China 精彩收官 | 数据篇
- Jmeter-【JSON Extractor】-响应结果中数组多个相同key取值
- Rust : 用rust实现Diffe-Hellman算法
- 信息熵,交叉熵,KL散度,JS散度之间的关系
- [架构之美]一款APP从想法-开发-上线-产品的全过程
- 论文笔记目录(ver2.0)
- 阿里副总裁贾扬清回应:确认离职,或投身AI架构创业!
- 2017.11.21 软件工程概论第一节课
- QPainter实现简单的绘图程序(绘图工具)
- IDEA配置连接数据库时报错Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ propert
- 系统分析与设计第四次作业