[java] lire un flux & mettre dans un fichier
karine
-
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je lis un flux d'octets et je voudrais le mettre dans un fichier.
Comment je peux faire ça en java ?
Merci beaucoup.
je lis un flux d'octets et je voudrais le mettre dans un fichier.
Comment je peux faire ça en java ?
Merci beaucoup.
14 réponses
-
-
Le premier lien je l'avais vu mais y a pas d'exemple, je comprends pas très bien .
Le deuxième lien, il est bien mais c'est des chaines de caracteres qui sont écrites dans le fichier et pas des octets.
A ce propos, comment je peux convertir des octets en chaine de caracteres ?
Merci -
Excuses-moi, j'aurais du essayer avant de parler.
Les octets sont bien dans le fichier maintenant.
Mais j'aimerais savoir comment on peut convertir des octets en texte.
J'ai cru voir qu'il n'existe pas de fonction comme ça en java mais qu'il faut en faire une.
Est-ce que quelqu'un en a déjà fait une de ce genre ?
Ou bien quelqu'un a-t-il une idée de comment la faire ?
Merci !! -
A ce propos, comment je peux convertir des octets en chaine de caracteres ?
ben une chaine de caractères, c'est des octets nan ?
ex : "opopop" = 0x6F 0x70 0x6F 0x70 0x6F 0x70 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Quand tu dis
String maChaine=new String(monTableauDOctets);
ben moi les octets sonts dans un fichier maintenant et pas dans un tableau.
Mais j'ai l'impression q'1 truc cloche dans mon prog car beaucoup de texte ne represente que quelques octets.
Je sais pas si c'est normal.
Je vais essayer vos propositions. -
beaucoup de texte ne represente que quelques octets.
ben si tout va bien, on a un octet par lettre, soit 8 bits. enfin si c'est de l'ascii bien sur =) -
Salut !
En fait je ne veux pas que 1512 devienne "1512" mais je veux savoir ce que ça veut dire en "français".
Je vous donne pour exemple ce que contient mon fichier :
1512
1054
5792
21844
Et j'aimerais savoir ce que ça veut dire. -
???
ben c'est quoi ? de l'hexa ? dsl... comprends po.... -
Voilà mon code, si ça peut t'aider à comprendre.
InputStream entrant = socket.getInputStream(); BufferedReader entrant3 = new BufferedReader(new InputStreamReader(socket.getInputStream())); byte [] buffer = new byte[65536]; int lus; boolean fini2 = false; PrintWriter ecrivain = new PrintWriter(new BufferedWriter (new FileWriter("monFichier.txt"))); while ((lus = entrant.read(buffer)) != -1) { ecrivain.println(lus); sout.write(buffer,0,lus); } ecrivain.close(); -
coucou !!
ouhou outpy g de nouveau internet !!
Ton petit prog la, il te sers juste à lire tout ce que contient un fichier, et à lécrire par tranche de 65536 octets.
++ -
J'ai réfléchi pendant la nuit, et j'ai trouvé une façon plus claire de dire ce que je voudrais faire.
D'abord le code :PrintStream sout = new PrintStream(client.getOutputStream()); InputStream entrant = socket.getInputStream(); byte [] buffer = new byte[4096]; int lus; while ((lus = entrant.read(buffer)) != -1) { sout.write(buffer,0,lus); }
Je voudrais que tout ce qui s'écrit dans sout s'écrive dans un fichier. C'est tout !
Ca a l'air simple mais moi je me prends la tete dessus depuis hier.
Avis aux amateurs !! -
Ayé j'ai REUSSI !!!
La nuit rend vraiment les idées plus claires.
Je donne la solution pour les prochain(e)s qui auront ce problème.PrintStream sout = new PrintStream(client.getOutputStream()); InputStream entrant = socket.getInputStream(); byte [] buffer = new byte[4096]; int lus; BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("monFichier.txt")); while ((lus = entrant.read(buffer)) != -1) { sout.write(buffer,0,lus); bos.write(buffer, 0, lus); } bos.flush(); bos.close();
Bon ça a l'air facile comme ça mais pour moi c'était long à trouver ;-) -
-
Comme quoi certains probleme viennent plus de la façon dont on les énonce...