私の質問をする前に(基本的にはタイトルが言っていることです)、私の状況についてより良い知識を与えるために、いくつかの背景を提供したいと思います.
主に学術目的で、非常に具体的なタスクを念頭に置いて、Java で小さなアプリケーションを作成しています。このアプリケーションが行うことは、基本的に、ベース URL から始まる URL 階層を構築し、後でリンクを整理してそれらに対していくつかのアクションを実行する機能を提供することです。
次の URL を想像してください。
http://www.example.com
http://www.example.com/sub001
http://www.example.com/sub002
http://www.example.com/sub002/ultrasub
http://www.example.com
ベース URL (または)が提供されたときに、プログラムでこの階層を取得したいと考えていますhttp://www.example.com/
。
私のコードには、URL をエンコードできるクラスがあり、それらを検証する方法を既に考えていましたが、ベース URL の下の URL 階層を見つける方法が見つかりませんでした。
それを行う直接的な方法はありますか、それともベース URL からファイルをダウンロードし、ファイルに存在する相対リンクと絶対リンクから階層の構築を開始するだけですか?
私は特定のコードを求めているのではなく、それを行うためにどのような方法をとればよいかについての (ある程度) 完全な説明を求めているだけです。
また、 URLがすでに分析されているかどうかを示すTreeMap<URL,Boolean>
構造にURLを保存しています。Boolean
Java 7 API 仕様をざっと見てからこの構造を選択しましたが、この特定の目的により適した構造を提案してください。
前もって感謝します :)