Tuesday, January 27, 2015
Java HttpServer to download image
The example implement HttpServer to download image.
package java_httpserver;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
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 java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @web http://java-buddy.blogspot.com/
*/
public class Java_HttpServer {
static final int responseCode_OK = 200;
public static void main(String[] args) {
try {
HttpServer httpServer = HttpServer.create(new InetSocketAddress(8000), 0);
httpServer.createContext("/", new MyHttpHandler());
httpServer.createContext("/image", new GetHttpHandler());
httpServer.setExecutor(null);
httpServer.start();
} catch (IOException ex) {
Logger.getLogger(Java_HttpServer.class.getName()).log(Level.SEVERE, null, ex);
}
}
static class MyHttpHandler implements HttpHandler{
@Override
public void handle(HttpExchange he) throws IOException {
String response = "Hello from java-buddy";
he.sendResponseHeaders(responseCode_OK, response.length());
OutputStream outputStream = he.getResponseBody();
outputStream.write(response.getBytes());
outputStream.close();
}
}
static class GetHttpHandler implements HttpHandler{
@Override
public void handle(HttpExchange he) throws IOException {
Headers headers = he.getResponseHeaders();
headers.add("Content-Type", "image/png");
File file = new File ("duke.png");
byte[] bytes = new byte [(int)file.length()];
System.out.println(file.getAbsolutePath());
System.out.println("length:" + file.length());
FileInputStream fileInputStream = new FileInputStream(file);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
bufferedInputStream.read(bytes, 0, bytes.length);
he.sendResponseHeaders(responseCode_OK, file.length());
OutputStream outputStream = he.getResponseBody();
outputStream.write(bytes, 0, bytes.length);
outputStream.close();
}
}
}
[フレーム]
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
[フレーム]