首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java7 java.nio.file.Path中访问子文件/文件夹?

如何在Java7 java.nio.file.Path中访问子文件/文件夹?
EN

Stack Overflow用户
提问于 2011-11-22 21:22:18
回答 2查看 24.3K关注 0票数 71

Java7引入了java.nio.file.Path作为java.io.File的possible replacement

使用File时,当我访问特定下的文件时,我将执行以下操作:

代码语言:javascript
复制
File parent = new File("c:\\tmp");
File child = new File(parent, "child"); // this accesses c:\tmp\child

用Path做这件事的方法是什么?

我想这会起作用的:

代码语言:javascript
复制
Path parent = Paths.get("c:\\tmp");
Path child = Paths.get(parent.toString(), "child");

但调用parent.toString()似乎很难看。有没有更好的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-22 21:37:58

.上使用 方法

使用此名称的方法有两种。One采用相对Paththe other采用String。它使用调用它的Path作为父对象,并适当地附加String或相对Path

代码语言:javascript
复制
Path parent = Paths.get("c:\\tmp");
Path child = parent.resolve("child");
票数 105
EN

Stack Overflow用户

发布于 2022-01-26 17:28:49

对于任何发现这个问题的人,特别是只在指定路径内的文件中查找,您必须意识到路径遍历攻击。

请参阅:Filtering upwards path traversal in Java (or Scala)

检查路径是否以根目录开头是critical

代码语言:javascript
复制
Path parent = Paths.get("C:\\tmp");
Path child = parent.resolve("chlid").normalize();
if (!child.startsWith(parent)) {
    throw new IllegalArgumentException("Potential Path Traversal Attack");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8227499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档