Username: Password: oppure
Invia/Ricevi File - Server.java

Server.java

Caricato da: Mutelg
Scarica il programma completo

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package testinviofile;
  7.  
  8. import java.net.ServerSocket;
  9. import java.net.Socket;
  10. import javax.swing.JOptionPane;
  11. import java.io.PrintStream;
  12. import java.io.FileOutputStream;
  13. import java.io.File;
  14. import java.io.FileInputStream;
  15. import java.io.DataOutputStream;
  16. /**
  17.  *
  18.  * @author Administrator
  19.  */
  20. public class Server {
  21.    static void server()
  22.    {
  23.     ServerSocket ss;
  24.     Socket conn=null;
  25.     PrintStream alClient;
  26.     DataOutputStream streamO;
  27.     FileInputStream FileI;
  28.  
  29.     try{
  30.         ss = new ServerSocket(HTTP.porta);
  31.         JOptionPane.showMessageDialog(null,"Server Creato con Successo!");
  32.         JOptionPane.showMessageDialog(null,"Attendo Client!");
  33.         conn = ss.accept();
  34.     }catch(Exception e)
  35.     {
  36.      JOptionPane.showMessageDialog(null,"Impossibile creare Server!");
  37.      System.exit(1);
  38.     }
  39.     String percorso = JOptionPane.showInputDialog("Dammi il percorso del file, con lo '\\' finale!");
  40.     String nomeF = JOptionPane.showInputDialog("Dammi il nome del file!");
  41.     try{
  42.         alClient = new PrintStream(conn.getOutputStream());
  43.         streamO = new DataOutputStream(conn.getOutputStream());
  44.         FileI = new FileInputStream(percorso+nomeF);
  45.         File dir = new File("C:\\inviati\\");
  46.         if(!dir.exists())
  47.             if(dir.mkdir())
  48.                 System.out.println("Cartella inviati creata!");
  49.             else
  50.                 System.out.println("Cartella inviati non è stato possibile crearla!");
  51.         File file = new File("c:\\inviati\\"+nomeF);
  52.         FileOutputStream scriviFile = new FileOutputStream(file);
  53.         byte buffer[] = new byte [HTTP.pacchetto];
  54.         alClient.println(nomeF);
  55.         int grandezzaF = FileI.available();
  56.         alClient.println(grandezzaF);
  57.         System.out.println("Invio in corso!");
  58. /*        int leggi = FileI.read(buffer);
  59.         for(int i = 0; i<grandezzaF/HTTP.pacchetto; i++)
  60.         {
  61.          streamO.write(leggi);
  62.          scriviFile.write(leggi);
  63.          leggi = FileI.read(buffer);
  64.         }
  65.          leggi = FileI.read(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  66.          streamO.write(leggi);
  67.          scriviFile.write(leggi);
  68. */
  69.         System.out.println("grandezza FIle = "+grandezzaF+" / buffer = "+HTTP.pacchetto+" == "+grandezzaF/HTTP.pacchetto);
  70.         int i;
  71.         for(i=1;i<=grandezzaF/HTTP.pacchetto; i++)
  72.         {
  73.          FileI.read(buffer);
  74.          scriviFile.write(buffer);
  75.          streamO.write(buffer);
  76.         }
  77.          System.out.println(i);
  78.         FileI.read(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  79.         scriviFile.write(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  80.         streamO.write(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  81.  
  82.         System.out.println("File inviato con successo!");
  83.         streamO.close();
  84.         FileI.close();
  85.         conn.close();
  86.     }catch(Exception e)
  87.     {
  88.      System.out.println("Errore impossibile invare file: Eccessione =="+e);
  89.     }
  90.    }
  91. }