Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package javaapplication7;
  7.  
  8. import java.io.IOException;
  9. import java.io.OutputStream;
  10. import java.net.InetSocketAddress;
  11.  
  12. import com.sun.net.httpserver.HttpExchange;
  13. import com.sun.net.httpserver.HttpHandler;
  14. import com.sun.net.httpserver.HttpServer;
  15. import java.io.File;
  16. import java.io.FileInputStream;
  17. import java.io.InputStream;
  18.  
  19. /*
  20.  * a simple static http server
  21.  */
  22. public class SimpleHttpServer {
  23.  
  24.     public static void main(String[] args) throws Exception {
  25.         HttpServer server = HttpServer.create(new InetSocketAddress(80), 0);
  26.         server.createContext("/crysis.iso", new MyHandler());
  27.         server.setExecutor(null); // creates a default executor
  28.         server.start();
  29.     }
  30.  
  31.     static class MyHandler implements HttpHandler {
  32.  
  33.         public void handle(HttpExchange t) throws IOException {
  34.             System.out.println("Connection");
  35.             //File file = new File("D:\\OSs\\GSP1RMCPRXFREO_EN_DVD.iso");C:\Program Files (x86)\SCAR Divi
  36.             File file = new File("D:\\Games\\Crysis 1.iso");
  37.             InputStream in = new FileInputStream(file);
  38.            
  39.            
  40.             long len = file.length();
  41.  
  42.             t.sendResponseHeaders(200, len);
  43.             OutputStream os = t.getResponseBody();
  44.  
  45.             byte[] buf = new byte[1024 * 1024 * 8];
  46.             int read;
  47.             long start = System.nanoTime() / 1000000L, time;
  48.             while ((read = in.read(buf)) != -1) {
  49.                 os.write(buf, 0, read);
  50.                 time = (System.nanoTime() / 1000000L) - start;
  51.                 long bytesms = read / time;
  52.                 long bytess = bytesms * 1000;
  53.                 double mbs = bytess / 1024L / 1024D;
  54.                 start = System.nanoTime() / 1000000L;
  55.                 System.out.println(mbs * 8 + "mb/s");
  56.             }
  57.  
  58.             os.close();
  59.             in.close();
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement