Dyd87
27-08-2009, 14:52
Salve a tutti
Ho un problema in questa parte di codice.
Sostanzialmente deve trasferire alcuni file (txt) , in modo random , da un Client ad un Server (sia esso runnato come LocalHost o da due pc).
Una volta avviato il programma mi restituisce l'errore come da titolo: il prompt che fa da Server si blocca e il Client termina l'esecuzione in modo "corretto".
I file che dovrebbero passare dal Client al Server sono perņ effettivamente passati , nonostante l'errore in questione si presenti nella write sul buffer.
Ecco il codice:
private void upload()
{
//Dichiarazione delle variabili locali
ObjectInputStream ois = null;
FileOutputStream fos = null;
byte[] pacchetto = null;
//
for(i = 0; i < 10; i++)
{
try
{
ois = new ObjectInputStream(sock.getInputStream()); //Crea un oggetto dal flusso
fos = new FileOutputStream("Client.txt"); //Apertura di un flusso per il salvataggio del file
pacchetto = (byte[])(ois.readObject()); //Legge il flusso e scrive nel buffer
}
catch(ClassNotFoundException e7)
{
}
catch(IOException e)
{
System.out.println("IOex");
}
try
{
fos.write(pacchetto);
}
catch(IOException e)
{
}
}
try
{
ois.close(); //Chiusura dell'ObjectInputStream
fos.close(); //Chiusura del FileOutputStream
}
catch(IOException e10)
{
}
}
Come fare?
E' possibile bypassare l'errore e far continuare comunque l'esecuzione , visto che i file comunque arrivano , tutti interi?
Grazie mille
Saluti :)
Ho un problema in questa parte di codice.
Sostanzialmente deve trasferire alcuni file (txt) , in modo random , da un Client ad un Server (sia esso runnato come LocalHost o da due pc).
Una volta avviato il programma mi restituisce l'errore come da titolo: il prompt che fa da Server si blocca e il Client termina l'esecuzione in modo "corretto".
I file che dovrebbero passare dal Client al Server sono perņ effettivamente passati , nonostante l'errore in questione si presenti nella write sul buffer.
Ecco il codice:
private void upload()
{
//Dichiarazione delle variabili locali
ObjectInputStream ois = null;
FileOutputStream fos = null;
byte[] pacchetto = null;
//
for(i = 0; i < 10; i++)
{
try
{
ois = new ObjectInputStream(sock.getInputStream()); //Crea un oggetto dal flusso
fos = new FileOutputStream("Client.txt"); //Apertura di un flusso per il salvataggio del file
pacchetto = (byte[])(ois.readObject()); //Legge il flusso e scrive nel buffer
}
catch(ClassNotFoundException e7)
{
}
catch(IOException e)
{
System.out.println("IOex");
}
try
{
fos.write(pacchetto);
}
catch(IOException e)
{
}
}
try
{
ois.close(); //Chiusura dell'ObjectInputStream
fos.close(); //Chiusura del FileOutputStream
}
catch(IOException e10)
{
}
}
Come fare?
E' possibile bypassare l'errore e far continuare comunque l'esecuzione , visto che i file comunque arrivano , tutti interi?
Grazie mille
Saluti :)