Javaでファイル区切り文字とパス区切り文字を使用するにはどうすればよいですか?

王林
リリース: 2023-04-21 14:40:08
転載
4040 人が閲覧しました

一、文件分隔符

文件分隔符是用来分隔构成特定位置路径的目录名的字符。

1.获取文件分隔符

在Java中,有几种方法可以获得文件分隔符。

我们可以用File.separator来获取String的分隔符。

String fileSeparator = File.separator;
ログイン後にコピー

我们也可以用File.separatorChar获得这个分隔符的字符。

char fileSeparatorChar = File.separatorChar;
ログイン後にコピー

从Java 7开始,我们也可以使用文件系统。

String fileSeparator = FileSystems.getDefault().getSeparator();
ログイン後にコピー

输出结果将取决于主机操作系统。文件分隔符在Windows上为\,在macOS和基于Unix的操作系统上为/。

2.构造一个文件路径

Java提供了一些方法来从目录列表中构建文件路径。

这里,我们使用Paths类。

Path path = Paths.get("dir1", "dir2");
ログイン後にコピー

让我们在Microsoft Windows上测试一下。

assertEquals("dir1\\dir2", path.toString());
ログイン後にコピー
ログイン後にコピー

同样,我们也可以在Linux或Mac上测试它。

assertEquals("dir1/dir2", path.toString());
ログイン後にコピー
ログイン後にコピー

我们也可以使用文件类。

File file = new File("file1", "file2");
ログイン後にコピー

让我们在Microsoft Windows上测试一下。

assertEquals("dir1\\dir2", path.toString());
ログイン後にコピー
ログイン後にコピー

同样,我们也可以在Linux或Mac上测试它。

assertEquals("dir1/dir2", path.toString());
ログイン後にコピー
ログイン後にコピー

正如我们所看到的,我们可以只提供路径字符串来构建一个文件路径---我们不需要明确地包括一个文件分隔符。

3.路径分隔符

路径分隔符是操作系统常用的一个字符,用于分隔路径列表中的各个路径。

3.1.获取路径分隔符

我们可以用File.pathSeparator来获取路径分隔符的String。

String pathSeparator = File.pathSeparator;
ログイン後にコピー

我们也可以以char的形式获得路径分隔符。

char pathSeparatorChar = File.pathSeparatorChar;
ログイン後にコピー

这两个例子都返回了路径分隔符。在Windows上是分号;,在Mac和基于Unix的操作系统上是冒号:。

3.2.构造一个文件路径

我们可以用分隔符作为分隔符来构建一个String的文件路径。

让我们试试String.join方法:

String[] pathNames = { "path2", "path3", "path4" };
String path = String.join(File.pathSeparator, pathNames);
ログイン後にコピー

这里我们在Windows上测试我们的代码。

assertEquals("path2;path3;path4", path);
ログイン後にコピー

而文件路径在Linux或Mac上看起来会有所不同。

assertEquals("path2:path3:path4", path);
ログイン後にコピー

类似地,我们可以使用StringJoiner类:

public static StringJoiner buildPathUsingStringJoiner(String path2, String path3) {
    StringJoiner joiner = new StringJoiner(File.pathSeparator);
    joiner.add(path2);
    joiner.add(path3);
    return joiner;
}
ログイン後にコピー

让我们在Microsoft Windows上测试我们的代码。

assertEquals("path2;path3", buildPathUsingStringJoiner("path2", "path3"));
ログイン後にコピー

而且它在Mac或Unix上的表现会有所不同。

assertEquals("path2:path3", buildPathUsingStringJoiner("path2", "path3"));
ログイン後にコピー

以上がJavaでファイル区切り文字とパス区切り文字を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート