Paths.getは - プラットフォームを指定しますか?

Vishaal Kalwani:

私は、MacとWindowsの両方で開発されているアプリケーションに取り組んでいます。我々はいくつかのファイルパスを生成し、すべてに生成されたパスがスラッシュとUNIXの味になりたいです。呼び出しPaths.get(...)Windowsマシン上ではバックスラッシュを含むパスを生成しますが、私はそれがスラッシュでパスを生成します。

私は、「設定」または使用するパスの区切りの指定についてのドキュメントを見つけることができませんでした。

QIvan:

私もいくつかの時間前にそれを見つけることを試みたが、それは不可能です。これは、静的メソッドですPaths.get(...)

java.nio.file.FileSystems#getDefault

static finalフィールドを返します

static final FileSystem defaultFileSystem = defaultFileSystem();

そしてjava.nio.file.FileSystems.DefaultFileSystemHolder#defaultFileSystem、あなたのファイルシステムを検出します。

しかし、のインスタンスにFileSystemスラッシュタイプのハードコードされていますhttps://github.com/frohoff/jdk8u-jdk/blob/master/src/windows/classes/sun/nio/fs/WindowsFileSystem.java#L249

あなたのための最も簡単な方法のようなものを使用することだと思う私はそうhttps://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.htmlを

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=188592&siteId=1