Bonjour tout le monde j'ai un probléme dans la récéption des donnée j'envoi par exemple un fichier qui contient 76k je reçois que 70k voici le code que j'utilise merci beaucoups.
Serveur
[java] public void run() { try { InputStream in = socket.getInputStream(); DataInputStream dis = new DataInputStream(socket.getInputStream()); String file = dis.readUTF(); String file1 = dis.readUTF(); String file2 = dis.readUTF(); int i = dis.readInt(); creerdossier(file,file1,file2); if(i == 1) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(direccionArchivo)); BufferedOutputStream bos = new BufferedOutputStream(via.getOutputStream());
//Enviamos el nombre del archivo DataOutputStream dos = new DataOutputStream(via.getOutputStream()); dos.writeUTF(archivo.getName()); dos.writeUTF(s); dos.writeUTF(s1); dos.writeInt(1); // dos.writeInt(2);
byteArray = new byte[1024]; while ((in = bis.read(byteArray)) != -1) { bos.write(byteArray,0,in); } via.close(); bis.close(); bos.close();
Marsh Posté le 14-05-2012 à 22:31:06
Bonjour tout le monde j'ai un probléme dans la récéption des donnée j'envoi par exemple un fichier qui contient 76k je reçois que 70k voici le code que j'utilise merci beaucoups.
Serveur
[java]
public void run()
{
try
{
InputStream in = socket.getInputStream();
DataInputStream dis = new DataInputStream(socket.getInputStream());
String file = dis.readUTF();
String file1 = dis.readUTF();
String file2 = dis.readUTF();
int i = dis.readInt();
creerdossier(file,file1,file2);
if(i == 1)
{
}
if(file != null)
{
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\dossier\\"+file1+"\\"+file2+"\\"+ file));
byte buf[] = new byte[1024];
int len;
while((len = in.read(buf)) != -1 )
{
bos.write(buf, 0, len);
}
}
}
catch(IOException e)
[/java]
Client
[java]
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(direccionArchivo));
BufferedOutputStream bos = new BufferedOutputStream(via.getOutputStream());
//Enviamos el nombre del archivo
DataOutputStream dos = new DataOutputStream(via.getOutputStream());
dos.writeUTF(archivo.getName());
dos.writeUTF(s);
dos.writeUTF(s1);
dos.writeInt(1);
// dos.writeInt(2);
byteArray = new byte[1024];
while ((in = bis.read(byteArray)) != -1)
{
bos.write(byteArray,0,in);
}
via.close();
bis.close();
bos.close();
[/java]
Merci à tous.