Bonjour,

j'ai un morceau de code qui fonctionne, le voici le voilà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
fichierAEnvoye = new File("e:\\CoffreFort\\recv.pdf");
try
{
	StreamClientFile = new FileInputStream(fichierAEnvoye);		
	DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("c:\\essai.pdf")));
 
	long tailleMaxBuffer = 1024;
	long tailleFichier = fichierAEnvoye.length();
	long envoye = 0;
 
	long tailleFinaleBuffer = fichierAEnvoye.length()-envoye;
	byte tmpbuf[] = new byte[(int)tailleFinaleBuffer];
	envoye += StreamClientFile.read(tmpbuf);
	dos.write(tmpbuf);
 
	System.out.println("J'ai envoyé "+envoye+" octets.");
 
}
	catch(Exception exc)
	{
		System.out.println("Exception : "+exc);
	}
et quand je passe à la version avec des buffers, ca ne fonctionne plus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
fichierAEnvoye = new File("e:\\CoffreFort\\recv.pdf");
try
{
	StreamClientFile = new FileInputStream(fichierAEnvoye);		
	DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("c:\\essai.pdf")));
 
	long tailleMaxBuffer = 1024;
	long tailleFichier = fichierAEnvoye.length();
	long envoye = 0;
 
	while(tailleFichier - envoye > tailleMaxBuffer)
	{
		byte tmpbuf[] = new byte[(int)tailleMaxBuffer];
		envoye += StreamClientFile.read(tmpbuf);
		dos.write(tmpbuf);
	}
 
	long tailleFinaleBuffer = fichierAEnvoye.length()-envoye;
	byte tmpbuf[] = new byte[(int)tailleFinaleBuffer];
	envoye += StreamClientFile.read(tmpbuf);
	dos.write(tmpbuf);
 
	System.out.println("J'ai envoyé "+envoye+" octets.");
 
}
catch(Exception exc)
{
	System.out.println("Exception : "+exc);
}
Dans le premier cas, j'ai l'intégralité du fichier, dans le deuxième cas, il semblerait qu'il manque des données à la fin du fichier.

Vous allez me dire que mon code ne fait que copier un fichier pdf et qu'il y a pleins d'aures méthodes. Moi, ce que j'aimerais c'est qlqchose de proche car en réalité, mon code est beaucoup plus large (utilisation de sockets réseau SSL à travers lesquels doivent transiter les fichiers pdf).

D'avance merci