Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Invia/Ricevi File - Client.java

Client.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. import java.net.Socket;
  8. import javax.swing.JOptionPane;
  9. import java.io.BufferedReader;
  10. import java.io.PrintStream;
  11. import java.io.InputStreamReader;
  12. import java.io.File;
  13. import java.io.DataInputStream;
  14. import java.io.FileOutputStream;
  15.  
  16. /*
  17.  * @author Administrator
  18.  */
  19. public class Client {
  20.  
  21.    static void client()
  22.    {
  23.        Socket conn = null;
  24.        BufferedReader dalServer;
  25.        DataInputStream streamI;
  26.        FileOutputStream scriviFile;
  27.        try{
  28.        String ip = JOptionPane.showInputDialog("Dammi l'ip del server!");
  29.        conn = new Socket(ip,HTTP.porta);
  30.        }catch(Exception e)
  31.        {
  32.         JOptionPane.showMessageDialog(null,"Errore nella connessione!");
  33.         System.exit(1);
  34.        }
  35.        try{
  36.                dalServer = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  37.            String nomeF = dalServer.readLine();
  38.            int grandezzaF = Integer.parseInt(dalServer.readLine());
  39.            int buff = grandezzaF / 10000;
  40.            byte buffer[] = new byte[HTTP.pacchetto];
  41.            streamI = new DataInputStream(conn.getInputStream());
  42.            File dir = new File("C:\\ricevut\\");
  43.            if(!dir.exists())
  44.                if(dir.mkdir())
  45.                    System.out.println("Cartella ricevuti creata!");
  46.                else
  47.                    System.out.println("Cartella ricevuti non è stato possibile crearla!");
  48.            File file = new File("c:\\ricevut\\"+nomeF);
  49.            scriviFile = new FileOutputStream(file);
  50.            System.out.println("Trasferimento file in corso!");
  51.            /*int leggi = streamI.read(buffer);
  52.            int i=0;
  53.            for(int y=0; y<grandezzaF/HTTP.pacchetto;y++)
  54.            {
  55.             if(i>buff-1)
  56.             {
  57.              System.out.print("|");
  58.              i=0;
  59.             }
  60.             scriviFile.write(leggi);
  61.             leggi = streamI.read(buffer);
  62.             i++;
  63.            }
  64.            leggi = streamI.read(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  65.            scriviFile.write(leggi);
  66.           */
  67.            int y=0;
  68.            System.out.println("grandezza FIle = "+grandezzaF+" / buffer = "+HTTP.pacchetto+" == "+grandezzaF/HTTP.pacchetto);
  69.  
  70.            for(int i=1; i<=grandezzaF/HTTP.pacchetto;i++)
  71.            {
  72.  
  73.             System.out.println(i);
  74.             if(y>buff-1)
  75.             {
  76.              System.out.print("|");
  77.              y=0;
  78.             }
  79.             streamI.read(buffer);
  80.             scriviFile.write(buffer);
  81.             y++;
  82.            }
  83.            streamI.read(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  84.            scriviFile.write(buffer, 0, (int)grandezzaF%HTTP.pacchetto);
  85.            
  86.            System.out.println("Trasferimento file Completato!");
  87.            streamI.close();
  88.            scriviFile.close();
  89.            conn.close();
  90.        }catch(Exception e)
  91.        {
  92.         JOptionPane.showMessageDialog(null,"Impossibile ricevere file: eccezzione=="+e);
  93.        }
  94.    }
  95. }