Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java os路径操作、连接和向上移动级别_Java - Fatal编程技术网

Java os路径操作、连接和向上移动级别

Java os路径操作、连接和向上移动级别,java,Java,我有两个关于文件和Java中的文件类的相关问题 我收集了构建路径的最佳实践方法,并将其与操作系统无关,如下所示: File file = new File("dir" + File.separator + "filename.ext"); String path = some_func("arbitrary", "number", "of", "subdirs", "filename.ext"); String rel_path = ".." + File.separator + "file

我有两个关于文件和Java中的文件类的相关问题

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

File file = new File("dir" + File.separator + "filename.ext");
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";
File file = new File("dir" + File.separator + "filename.ext");
我的第一个问题是,“是否有Java中内置的python os.path.join函数的Java等价物?” i、 e.是否有一个功能可以让我执行以下操作:

File file = new File("dir" + File.separator + "filename.ext");
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";
File file = new File("dir" + File.separator + "filename.ext");
我怀疑如果存在这样的情况,我可能需要向函数传递一个字符串数组,而不是任意数量的参数,但是上面的方法是理想的

但不管以上问题的答案如何,我的第二个问题是,“在指定路径时,是否有一种向上移动标高的内置方法?”

i、 e.这样做的正确方法是:

File file = new File("dir" + File.separator + "filename.ext");
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";
File file = new File("dir" + File.separator + "filename.ext");
还是有这样的事情:

File file = new File("dir" + File.separator + "filename.ext");
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";
File file = new File("dir" + File.separator + "filename.ext");
干杯

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

File file = new File("dir" + File.separator + "filename.ext");
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";
File file = new File("dir" + File.separator + "filename.ext");
或者像这样(参见
java.io.File
的构造函数的API文档):

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

您正在查找
java.nio.file.path.get()

请注意,它为您提供了一个
路径
而不是
文件
,如果您确实需要
文件
,请在
路径上调用
toFile()


注意:这是Java 7中的所有新功能。

据我所知,Java 6中没有这种功能,但您可以使用Apache的StringUtils来实现相同的效果:

如上所述,
components
是一个
Iterable
或文件路径组件的数组


e、 g.
stringpath=StringUtils.join(新字符串[]{“foo”,“bar”},File.separator)

关于您的第一个问题,Jesper说得对,如果您使用的是Java7,java.nio.Pages.get()是最好的

在你的问题的第二部分,考虑使用:

file.getParentFile().getName(); 

导航到给定文件(或目录)的父级。

file.level\u up
->
。“
。尽管在praxis中,
/
也可以在Windows上运行。