0

こんにちは私は、さまざまなマシンのさまざまな場所に保存されているホストファイルを解析しようとしています。Plzは、すべてのタイプのマシン(Windows、Linux、Macなど)を使用できると仮定して、ホストファイルにアクセスするのに役立ちます。基盤となるシステムに影響を与えないhostfileを解析するJavaの完全なメソッドが必要です。

今まで私はWindowsでhostfileの場所をハードコーディングしていました:

private final String mHostFileLocation =
                    "C:\\WINDOWS\\system32\\drivers\\etc\\hosts";

しかし、これは悪い考えだと思います。どのシステムでもホストファイルを解析する方法を教えてください。

4

2 に答える 2

1

残念ながら、これを行うための標準的なプラットフォーム中立的な方法はありません。すべての有効な場所のリストが必要です。

String [] hostsLocations = {"C:\\WINDOWS\\system32\\drivers\\etc\\hosts", "/etc/hosts"};

存在するファイルが見つかるまで、またはシステム プロパティから OS スニッフィングを少し実行して、どの OS を使用しているかを特定し、正しい場所を使用するまで、それぞれを試してください。実際には、それほど多くの異なる場所はありません。

于 2013-02-04T10:04:04.030 に答える
0

ホストファイルを見つけるための統一された方法はありません。マシンがDNSのみを実行するように設定されている場合は、存在しない可能性もあります。

とは言うものの、Macではファイルは/ private / etc / hostsにあり、Linuxではしばしば/ etc/hostsにあります。

于 2013-02-04T10:04:42.690 に答える