8

現在取り組んでいるプロジェクトのリファクタリング段階にあり、ファイルシステムパスの構築と表現の方法を改善したいと考えています。Ubuntu、OSX、およびWindows 7での互換性を確保するために、Javaコードで相対パスを表すときに考慮すべきことは何ですか。

現在、「MyProject / foo / bar.f」を参照するファイルのインスタンスを取得するには、次の行に沿ってコードを記述します。

File bar = new File(ProjectDirectory + "/" + FooResourceDirectory + "/" + barName);

これはいくつかの理由で間違っているようですが、ベストプラクティスにはどのようなものがありますか?

4

2 に答える 2

12

おそらく、この種のことを行うために提供されているコンストラクターを使用します。

new File(parent, child)

それらを「ネスト」する必要がありますが、これを処理するのは簡単です(たとえば、取得するものからパスを構築する関数を作成しstring...ます)。

ファイルコンストラクターを参照してください。

于 2010-12-01T18:21:07.110 に答える
9

まず、 File.separator File.pathSeparator「/」の代わりに使用する必要があります。

于 2010-12-01T18:16:48.223 に答える