dポイントプレゼントキャンペーン実施中!

指定したURLの上のファイルをディレクトリごとダウンロードしたいんですが、どうすればいいんでしょうか?
全くの初心者の私の質問に答えるのは難しいと思いますので、
java製のソースを公開しているダウンローダもしくはダウンロードに関する講座サイトを教えていただくだけでもできればお願いしたいです。

A 回答 (2件)

クライアントマシンのみで実現するのは無理ですよね。


だってサーバが送ってくれないとダメなんですから(笑)

「クライアントマシンのみで」というのは、
サーバ側は通常のHTTPサーバという意味だとするなら、
クライアントから飛ばすリクエストには1ファイルしか載りませんし
サーバからのレスポンスも1ファイルしか返りませんよね。
なので、まずクライアントが、サーバ側のディレクトリの中に
存在するファイルの一覧を何らかの形で取得して、
それを1つずつ順にリクエストをかけていくしかないでしょう。
ファイルの一覧を取るにしても、DOSのDIRみたいなコマンドはないので
サーバ側にファイルの一覧を記述したファイルを置いておいて
それをクライアントアプリが読み込むしかないと思います。
その場合、サーバに届くのはHTTPのリクエストなので、
クライアントがJavaなのかどうかということは無関係ですね。

もしサーブレットが使えるなら、J2SEのjava.uti.zipパッケージの中に
zipファイルを作るためのクラスがありますから、それを使って
特定のディレクトリの中のファイルをzipファイルにまとめて
それをダウンロードさせるという方法があります。

この回答への補足

>特定のディレクトリの中のファイルをzipファイルにまとめて
>それをダウンロードさせるという方法があります。
どのようにすれば複数のネット上のファイルをまとめられるんでしょうか?
なにぶん初心者なので、使い方が分からないんです。
サンプルみたいなものありませんか?
もちろんクライアント側のもので。

補足日時:2005/07/27 21:24
    • good
    • 0
この回答へのお礼

さすがに無責任だったので、
もう1冊本を買って勉強しようと思います。
回答ありがとうございました。

お礼日時:2005/08/07 13:58

これはJSP/サーブレットを使って、ということでしょうか?



バイナリファイルのダウンロードは、基本的にresponse.getOutputStreamでServletOutputStreamインスタンスを取得し、このストリームを介してバイナリデータを送信します。ディレクトリごと送信するメソッドというのはないので、ディレクトリ内にあるファイルを一覧で取得し、1つずつ送信するしかないでしょう。
 このあたりの機能の基本的な使い方はわかりますか? わからないと、これ以上は説明しようがないのですが・・。

とりあえず、@ITにバイナリファイルの入出力の記事がありますので、そちらを見てください。だいたいの流れがわかります。

http://www.atmarkit.co.jp/fjava/javatips/023jsps …

この回答への補足

>これはJSP/サーブレットを使って、ということでしょうか?

出来れば、クライアントマシンのみで実現したいんです。
やはりサーブレット無しでは無理でしょうか?

補足日時:2005/07/23 21:54
    • good
    • 0
この回答へのお礼

具体的な方法を教えていただきありがとうございました。

お礼日時:2005/08/07 13:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!