Bonjour, je vous explique mon problème.
Je lis un fichier contenant une en-tete ligne par ligne et, une fois l'en-tête passée et ayant récupéré la taille du fichier dans celle ci j'aimerai soit :
créer le fichier s'il n'existe pas et écrire ce qu'il contient.
soit :
modifier le fichier en écrivant à la suite de celui ci.
Je vous met ici mon code permettant de lire jusqu'a atteindre la ligne "Content Lenght:" puis me permettant d'arriver à la fin de l'en-tête :
dans mon main :
BufferedReader br = new BufferedReader(new FileReader(parts[1]));
parts[1] contient le nom de mon fichier.
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 31 32 33 34 35 36 37 38 39 40 41 42
| public BufferedReader findContentLength(BufferedReader br){
try {
while ((ligne = br.readLine()) != null) {
// rechercher l'entete content length et récuperer la longueur du fich
if (ligne.indexOf(contentl) != -1) {
// je récup la longueur du fich en séparant ma ligne par des " " et en récupérant la
// derniere partie de la linge qui est la deuxième
String[] parties = ligne.split(" ");
taillefich = Integer.parseInt(parties[1]);
}
}
} catch (IOException ex) {
System.out.println("Fin de connexion : "+ex);
ex.printStackTrace();
}
return br;
}
//Nous permet d'atteindre la fin de l'entête
public BufferedReader findEndOfHeader(BufferedReader br){
try {
while ((ligne = br.readLine()) != null) {
if (ligne == "/n") {
break;
}
}
} catch (IOException ex) {
System.out.println("Fin de connexion : "+ex);
ex.printStackTrace();
}
return br;
}
public BufferedReader openAndWrite (BufferedReader br, String f) {
try {
while ((ligne = br.readLine()) != null) {
// ouvrir le fichier en écriture et écrire les données en provenance du serveur
}
} catch (IOException ex) {
System.out.println("Fin de connexion : "+ex);
ex.printStackTrace();
}
return br;
} |
Je sais bien que c'est un peu long mais ça fait deux jours que je suis dessus et je n'arrive malheuresement pas à trouver une solution mais aussi à comprendre les solutions que je voie sur internet.
Merci d'avance
Partager