import java.net.*;
import java.io.*;
import java.util.*;
 
public class FileServer {
   private static String outputFile;
   public FileServer() {
      try {
         ServerSocket server = new ServerSocket(8888);
         System.out.println("Server created.");
         System.out.println("Waiting for client to connect…");
 
         Socket socket = server.accept();
         System.out.println("Connected from Client " + socket.getInetAddress().getHostAddress());
 
         DataInputStream inputStream = new DataInputStream(socket.getInputStream());
         FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
         int input = 0;
         while(input != -1) {
            input = inputStream.readInt();
            fileOutputStream.write(input);
			
         }
         System.out.println("Transfer successfully!");
      }
      catch(IOException ioException) {
         ioException.printStackTrace();
         System.exit(1);
		  
      }
   }
   public static void main(String args[]) {
      if(args.length < 1) {
         System.out.println("USAGE: java FileServer [filename]");
         System.exit(1);
      }
      outputFile = args[0];
      new FileServer();
   }
}