Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1067 connectés 

  FORUM HardWare.fr
  Programmation

  [Java] Problème lors de transfert de fichiers (pourrissage)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Problème lors de transfert de fichiers (pourrissage)

n°35175
The_Law
Posté le 29-05-2001 à 12:56:49  profilanswer
 

Re !
Désolé d'encore vous déranger
J'ai encore et toujours un chti prob lors du transfert de fichier
En effet, pour les fichiers textes ça marche nickel mais il reste deux problèmes
1°) Il envoie tout par paquet de 2Ko ce qui n'est pas génant mais même le dernier paquet fait 2Ko (même si fait moins, dans ce cas, il le gonfle de je ne sais quoi)
2°) Pour le transfert de fichiers doc ou bmp (ou autres je suppose) ben le fichier est bien parti, bien arrivé (avec qqes octets de plus pour la raison 1°) mais il est tout pourri à l'arrivé (ex pour un doc, plus de mise en page, texte lisible mais certains caractères transformés... :pt1cable: )
Enfin bref, c'est pas encore ça
 
Une idée ?
Thanx

mood
Publicité
Posté le 29-05-2001 à 12:56:49  profilanswer
 

n°35181
wouatouwou​atou
Posté le 29-05-2001 à 13:09:47  profilanswer
 

fait du transfert en binary mode... et pas en char....
regarde les classes OutputStream et InputStream.. je sais plus trop les noms exacts mais c dans la doc tout ca...
Output => fichier ou tu ecris (la destination)
Input => fichier ou tu lis (le source)


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°35185
The_Law
Posté le 29-05-2001 à 13:13:33  profilanswer
 

On travaille déjà en octets avec OutputStream et InputStream
On ne travaille pas en char
mais le prob vient pas vraiment de là apparement
 
Une autre idée ?
et sinon concernant le fait que le dernier paquet est gonflé ???

n°35186
wouatouwou​atou
Posté le 29-05-2001 à 13:15:48  profilanswer
 

pour le dernier paquet... c simple... tu ecrit uniquement le nombre d'octets ke ta lu... ce nombre est normalement retournée par la methode de lecture...
Ca se fait en general dans ta boucle du parcours de lecture du fichier, au moment ou tu fais ton test de reussite de la lecture...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°35188
wouatouwou​atou
Posté le 29-05-2001 à 13:19:15  profilanswer
 

Euh.. pour ce ki est des output et input... c pas de loctet automatiquement.. ca depend de kelle sous classe tu utilise...
Je te conseille de prendre le FileOutputStream et FileInputStream..


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°35191
The_Law
Posté le 29-05-2001 à 13:23:34  profilanswer
 

Apparement c'est bien ce qu'on fait
On va remater ça
Thanx   :love:

n°35195
[FDS]
Posté le 29-05-2001 à 13:29:47  profilanswer
 

utilise un buffer
 
Je te donnes un ex avec une copie d'un fichier
 
tu déclares la taille de ton buffer
public final static int TAILLE_BUFFER = 512;
 
 
BufferedInputStream bufferedINS = new BufferedInputStream(new FileInputStream(fichierSource));
BufferedOutputStream bufferedOUTS = new BufferedOutputStream(new FileOutputStream(fichierDestination));
 
byte buffer[] = new byte[TAILLE_BUFFER];
int taille = 0;
// taille te donne le nb d'octets à lire sans avoir de conneries à la fin de tes fichiers.
while ((taille = bufferedINS.read(buffer, 0, buffer.length)) > -1)
{
 bufferedOUTS.write(buffer, 0, taille);
}

n°35550
The_Law
Posté le 30-05-2001 à 12:07:20  profilanswer
 

:cry:  HEEEEEELPPP !!!!!   :cry:  
 
on a déjà un équivalent de ce code
mais en fait, on cherche le cas d'arret
ton tableau, pour le dernier paquet, c'est quoi le cas d'arret ?
je veux dire de quoi il le remplit ?
comment faire un test genre si case_vide alors stop quoi
en gros, la question c'est "une case vide c'est quoi ?"
buffer[i] = NULL ? on dirait pas
 
je vais devenir fou  :pt1cable:

n°35571
wouatouwou​atou
Posté le 30-05-2001 à 12:42:06  profilanswer
 

c ca sa condition d'arret :

Code :
  1. ((taille = bufferedINS.read(buffer, 0, buffer.length)) > -1)


:D:D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°35572
wouatouwou​atou
Posté le 30-05-2001 à 12:43:35  profilanswer
 

en fait, si la lecture echoue, la valeur -1 est retournee et donc la condition est verifiée... Mais moi jaurai mis zero...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Java] Problème lors de transfert de fichiers (pourrissage)

 

Sujets relatifs
[JAVA] ProgressBar et SwingWorker[Java] Bouton Browse (navigateur)
les fichiers .vcf, c quoi ??[Java] Comment lister le contenu d'un dossier ?
[C++] Un problème bizarre ....Java : lire/écrire dans un fichier des objets directement : possible ?
Gros probléme de serveur ASP[JAVA] à quoi ça sert que je me casse le cul à écrire des méthodes...
[java] sous classeprobleme de librairie sous VC++
Plus de sujets relatifs à : [Java] Problème lors de transfert de fichiers (pourrissage)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR