パスを表す文字列を取り、それを Unix スタイルの絶対パスに変換したいと考えています。MainClass.class.getClassLoader().getResource("").getPath()
この文字列は、システムに応じて異なるスタイル パスを返すへの呼び出しの結果であるため、Windows または Unix スタイルのいずれかである可能性があります。
(私が書いているゲームのためにこれを行っています。その一部は、ユーザーに単純な「bash-ish」シェルを提供し、ユーザーがファイルを読み取れるようにしたいです。偽のファイルシステムは通常のように保存されますプロジェクトのサブディレクトリ内のディレクトリ ツリー. このファイルシステムは Unix スタイルのパスを使用する予定であり、入力されたパスを前述の文字列と連結できるようにしたいと考えています (適切なディレクトリに移動するためにいくつかの小さな編集を行います)。ファイルの内容を検索します。)
これを行う方法はありますか?いろいろ試してみましたが、友人の Windows 7 システムでは正しく動作しないようです。
現時点では、文字列が「C:\」などで始まるかどうかを確認し、バックスラッシュをスラッシュに置き換える単純なものを使用していますが、これが良い方法になる方法はありません、そして他の人が以前に異なるパススタイルの問題に直面したことがあると確信しています。それは確かに非常に一時的な解決策です。