private String download( String fileName, Socket socket) {
        try {
            System.out.println("DOWNLOADING FILE");
            String[] d = fileName.split("!#!"); 
            System.out.println("SPLIT");
            System.out.println(d[0]);
            FileOutputStream outStream = new FileOutputStream("download/"+d[0]);
            
            System.out.println("filename: "+fileName);         
            System.out.println("filestream OK");
            byte[] buffer = new byte[20000000];
            int bytesRead = 0, counter = 0;
            System.out.println("bytes OK");
            InputStream inputStream = socket.getInputStream();
            System.out.println("stream OK");
              
            /*byte[] bytes = d[1].getBytes();
            outStream.write(bytes,0,d[1].length());*/
            
            while (bytesRead >= 0) {
                bytesRead = inputStream.read(buffer);
                
                System.out.println("Buffer reader: "+bytesRead);
                if (bytesRead >= 0) {
                    outStream.write(buffer, 0, bytesRead);
                    counter += bytesRead;
                    System.out.println("total bytes read: " +
                                                    counter);
                }
                if (bytesRead < 1024) {
                    outStream.flush();
                    break;
                }
            }
 
            System.out.println("Downloaded Successfully!");
            
            outStream.close();
            socket.close();
            return "download/"+d[0];
            
        } catch (Exception e) {
            System.out.println("Error on downloading file!");
            return null;
        }
    }