gpt4 book ai didi

Java 操作系统路径操作、连接和升级

转载 作者:行者123 更新时间:2023-12-02 07:01:54 31 4
gpt4 key购买 nike

我有 2 个有关文件和 Java 中的 File 类的相关问题。

我收集了构建路径的最佳实践方法 - 并使其与操作系统无关 - 如下所示:

File file = new File("dir" + File.separator + "filename.ext");

我的第一个问题是,“Java 中是否有与 Java 中内置的 python os.path.join 函数等效的函数?”即是否有一个函数可以让我做这样的事情:

String path = some_func("arbitrary", "number", "of", "subdirs", "filename.ext");

我怀疑如果存在这样的事情,我可能需要将字符串数组传递给函数,而不是任意数量的参数,但上面的情况是理想的。

但无论上述问题的答案如何,我的第二个问题是,“在指定路径时是否有内置方法可以提升级别?”

即正确的方法是执行以下操作:

String rel_path = ".." + File.separator + "filename.ext";

或者有这样的东西:

String rel_path = File.level_up + File.separator + "filename.ext";

大家干杯!

最佳答案

I gather the best practice way to build a path - and have it OS agnostic - is like this:

File file = new File("dir" + File.separator + "filename.ext");

或者像这样(请参阅有关 java.io.File 构造函数的 API 文档):

File file = new File("dir", "filename.ext");

请注意,这仅需要两个参数 - 父目录的名称和文件名(不是任意子目录列表)。

您正在寻找java.nio.file.Paths.get() :

Path path = Paths.get("arbitrary", "number", "of", "subdirs", "filename.ext");

请注意,这将为您提供 Path而不是File ,如果您确实需要 File然后调用toFile()关于Path .

注意:这是 Java 7 中的所有新内容。

关于Java 操作系统路径操作、连接和升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543079/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com