Advertisement
dig090

Transfer Server

Dec 9th, 2011
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.59 KB | None | 0 0
  1. package com.j256.ormlite.jdbc;
  2.  
  3. import java.io.BufferedOutputStream;
  4. import java.io.BufferedReader;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.InputStreamReader;
  8. import java.net.ServerSocket;
  9. import java.net.Socket;
  10.  
  11. public class Server {
  12.  
  13.     public static void main(String[] args) throws Exception {
  14.         ServerSocket serverSocket = new ServerSocket(8080);
  15.         while (true) {
  16.             Socket socket = serverSocket.accept();
  17.             // spawn a thread for this connection
  18.             new Handler(socket).start();
  19.         }
  20.     }
  21.  
  22.     public static class Handler extends Thread {
  23.  
  24.         private final Socket socket;
  25.         private BufferedOutputStream writer;
  26.         private BufferedReader reader;
  27.  
  28.         public Handler(Socket socket) throws Exception {
  29.             this.socket = socket;
  30.             this.writer = new BufferedOutputStream(socket.getOutputStream());
  31.             this.reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  32.             System.out.println("FTP Client Connected ... " + socket);
  33.         }
  34.  
  35.         @Override
  36.         public void run() {
  37.             try {
  38.                 upload();
  39.                 socket.close();
  40.             } catch (Exception e) {
  41.                 e.printStackTrace();
  42.             }
  43.         }
  44.  
  45.         public void upload() throws Exception {
  46.             String file = reader.readLine();
  47.             File f = new File(file);
  48.             if (!f.exists()) {
  49.                 writer.write(0);
  50.             } else {
  51.                 writer.write(1);
  52.                 FileInputStream fin = new FileInputStream(f);
  53.                 byte[] bytes = new byte[1024];
  54.                 while (true) {
  55.                     int numRead = fin.read(bytes);
  56.                     if (numRead <= 0) {
  57.                         break;
  58.                     }
  59.                     writer.write(bytes, 0, numRead);
  60.                 }
  61.                 fin.close();
  62.             }
  63.             writer.flush();
  64.         }
  65.     }
  66. }
  67.  
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement