どのコンピュータでもローカルファイルをダウンロード可能なファイルとして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. ノードjson2xlsダウンロード可能なファイル
- 4. メモリファイルにvertxを含むダウンロード可能なファイルapiを作成する方法
- 5. Google appsのスクリプト:ダウンロード可能なhtmlファイルを作成するには?
- 6. サーバー上のファイル用にダウンロード可能なパブリックリンクを作成する方法
- 7. URLにダウンロード可能なファイルを電子メールで表示する方法
- 8. 私のアプリケーションでダウンロード可能なファイル
- 9. Python twill:PHPスクリプトでダウンロード可能なファイル
- 10. Androidマーケットでダウンロード可能なブックマークを作成したい
- 11. JavaScriptからダウンロード可能な添付ファイルを作成しますか?
- 12. Javaのファイルシステム上にあるファイルのダウンロード可能URLを作成する方法は?
- 13. Django- pd.read_html&df.to_excelを使用してダウンロード可能なExcelファイルを作成
- 14. ファイルを生成するurlからダウンロード
- 15. Androidがダウンロード可能な描画可能ファイルをArraylist <Integer>
- 16. intellijで実行可能なJarファイルを作成する
- 17. iTextでアクセス可能なPDFファイルを作成する
- 18. Antで実行可能なjarファイルを作成する方法
- 19. varbinaryデータから添付ファイルを作成してダウンロード可能にする
- 20. (CSVファイル1)のダウンロード可能なCSVハイパーリンク
- 21. wgetで非アクセス可能なファイルをダウンロードする
- 22. Jsonは検索可能なURLを作成します
- 23. .NETコアでOpenXmlで作成したダウンロード可能なExcelファイルを提供する方法
- 24. Python Urlopenでダウンロード可能なファイルを避ける
- 25. ファイルのトリガー可能な週単位のバックアップを作成する
- 26. matlabから実行可能な.mexa64ファイルを作成するMakefile
- 27. 実行可能なjarファイルを作成する
- 28. デプロイ可能なWARファイルを作成するスプリングブート
- 29. クリック可能なリンクを作成する
- 30. アニメーション可能なカスタムプロパティを作成する
正確に何をしますか?他のコンピュータのJavaアプリケーションからファイルにアクセスできるようにしますか? – Teknophilia
クライアントアプリケーション間でファイルを転送する必要があります。 P2Pと同様ですが、ファイル転送は1対1です。このアプリケーションを使用しているすべてのコンピュータでHTTPサーバーをセットアップすることはできません! –