どのコンピュータでもローカルファイルをダウンロード可能なファイルとしてURLで作成するにはどうすればよいですか。 URLは、クライアントJavaアプリケーションがファイルをダウンロードするためにアクセスします。ダウンロード可能なファイルをURLで作成する
答えて
あなたは桟橋サーバーを使用することができます。 Java SEアプリケーションに埋め込むのはとても簡単です。私はファイルサーバーの設定セクションはあなたのために特に興味深いものになるだろうと思います
http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
:あなたは、ここでより多くの情報を見つけることができます
http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty#Configuring_a_File_Server
をここであなたがそこに見つけることができる例であります:
public class FileServer
{
public static void main(String[] args) throws Exception
{
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
}
resourceBase
に、次のようなフォルダへのパス:resource_handler.setResourceBase("/path/to/your/folder")
とすると、このフォルダ内のすべてのファイルはHTTP経由で利用できます。
Javaサーバを作成します。インターネットから外部にアクセスする場合は、ルータ/プロキシ/ファイアウォールの背後にある場合は必ず公開してください。そうでない場合は、同じサブネットにいる場合は問題ありませんこの考慮を無視する。
Javaサーバーでは、特定のポートをリッスンし、データを交換するためにこの所定の合意されたポートでカスタムJavaクライアントからのTCP呼び出しを処理します。次に、JavaサーバーにSystem.IOコールなどを使用してファイルをバイトストリームとしてクライアントに送信します。
Javaサーバーは、LAMPまたはJetty、またはJavaベースのサーバーを実際に縮小したものであることができます。したがって、最初から始める必要はありません。
これが役に立ちます。
ウェブサーバーを設定できます。
AのJava Webサーバ:
- Oracle Networking (Code)と、これはプロジェクトのページです:もちろんproject page
あなたがルータの背後にある場合は、お使いのコンピュータにポート80を転送する必要があります。
申し訳ありません、何ですか? URLは何十ものスキーム/プロトコルのどれかを特定できます。つまり、ftp \://ftp.uiuc.eduは有効なURLですが、httpは使用しません。 – Kylar
@Kylar:確かに!イエス・キリスト、答えた瞬間の私の割合はどこでしたか? –
Java 1.6以降、JDKに組み込まれているHTTPサーバーが組み込まれています。
このコードは(リクエストhttp://localhost:8000/get付き)特定のPDFファイルを取得するには、単純なHTTPサーバの設定に使用されている
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.Headers;
public class SimpleHttpServer {
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/info", new InfoHandler());
server.createContext("/get", new GetHandler());
server.setExecutor(null); // creates a default executor
server.start();
}
static class InfoHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
String response = "Use /get to download a PDF";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
static class GetHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
// add the required response header for a PDF file
Headers h = t.getResponseHeaders();
h.add("Content-Type", "application/pdf");
// a PDF (you provide your own!)
File file = new File ("c:/temp/doc.pdf");
byte [] bytearray = new byte [(int)file.length()];
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(bytearray, 0, bytearray.length);
// ok, we are ready to send the response.
t.sendResponseHeaders(200, file.length());
OutputStream os = t.getResponseBody();
os.write(bytearray,0,bytearray.length);
os.close();
}
}
}
は、参考文献:http://www.rgagnon.com/javadetails/java-have-a-simple-http-server.html
ニート - それはJava 1.6であったことを知らなかった!また、関連するノートでは、Java 1.0.xからRealのHowToサイトを使用しています。それは素晴らしいリソースです。 – shadit
- 1. appengineでダウンロード可能なcsvファイルを作成する方法
- 2. ダウンロード可能なコンテンツの作成
- 3. サーバー上のファイル用にダウンロード可能なパブリックリンクを作成する方法
- 4. Androidマーケットでダウンロード可能なブックマークを作成したい
- 5. JavaScriptからダウンロード可能な添付ファイルを作成しますか?
- 6. Androidがダウンロード可能な描画可能ファイルをArraylist <Integer>
- 7. Antで実行可能なjarファイルを作成する方法
- 8. varbinaryデータから添付ファイルを作成してダウンロード可能にする
- 9. wgetで非アクセス可能なファイルをダウンロードする
- 10. ファイルのトリガー可能な週単位のバックアップを作成する
- 11. アニメーション可能なカスタムプロパティを作成する
- 12. ズーム可能なカスタムレイアウトを作成する
- 13. クリック可能なリンクを作成する
- 14. Bitbucket:ダウンロード可能なチップからファイルをバインドする
- 15. Rails Carrierwaveをダウンロード可能なZipファイルにアップロードする
- 16. Drupalのユーザープロフィールページに「ダウンロード可能なファイル」を追加する方法
- 17. autotools:Cコンパイラが実行可能ファイルを作成できない
- 18. winformsで移動可能なサイズ変更可能な行を作成する
- 19. NodeJSファイルシステムfs - ダウンロードフォルダにダウンロードするファイルを作成することは可能です
- 20. URLを入力してファイルをダウンロードするwebappを作成する方法
- 21. rldcファイルなしでreportViewerを作成することは可能ですか?
- 22. Google AdWordsで再利用可能な機能を作成する
- 23. Linuxで実行可能ファイルを作成する
- 24. 32ビットOSで64ビット実行可能ファイルを作成する
- 25. 実行可能なJARファイルを作成しますか?
- 26. コピー可能でも移動可能なオブジェクトをC++で作成する
- 27. ダウンロード可能なElixirのドキュメント
- 28. Google App Engineでファイルをアップロードしてダウンロード可能にする
- 29. ASP.NET MVCで「コントローラレス」URLを作成することは可能ですか?
- 30. Googleマップで選択可能/クリック可能なオーバーレイを作成する
正確に何をしますか?他のコンピュータのJavaアプリケーションからファイルにアクセスできるようにしますか? – Teknophilia
クライアントアプリケーション間でファイルを転送する必要があります。 P2Pと同様ですが、ファイル転送は1対1です。このアプリケーションを使用しているすべてのコンピュータでHTTPサーバーをセットアップすることはできません! –