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

  FORUM HardWare.fr
  Programmation

  Comment ouvrir un fichier existant en écriture en Java ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment ouvrir un fichier existant en écriture en Java ?

n°10441
DrKoidNeuf
Posté le 20-01-2001 à 12:21:59  profilanswer
 

Ancien programmeur en C++, je me mets progressivement à la programmation java.
Et, je cales devant un problème d'ouverture de fichier (déjà existant) en écriture, sans qu'à chaque exécution, ce dernier soit recréé.
 
Merci d'avance.

mood
Publicité
Posté le 20-01-2001 à 12:21:59  profilanswer
 

n°10474
stalker
Posté le 20-01-2001 à 19:17:43  profilanswer
 

Tu veux ouvrir quoi un fichier .txt par exemple et pouvoir le modifier ?

n°10480
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 20-01-2001 à 20:20:16  profilanswer
 

Comment tu fais? Parce que c'est vraiment simple avec la classe File. Envoie ton code pour voir
 
S.

 

n°10487
DrKoidNeuf
Posté le 20-01-2001 à 20:57:20  profilanswer
 

Effectivement, c'est pour ouvrir un fichier .txt et, au final, écrire avec plusieurs threads dedans.
J'ai vu qu'il était possible de le faire en utilisant la classe FileOutputStream(String name, boolean append).
 
Par contre en n'utilisant que la classe File, j'aimerais bien qu'on m'explique.
 
Merci.

n°10508
Roswell_
Posté le 21-01-2001 à 00:44:08  profilanswer
 

FileInputStream fluxIn=new FileInputStream("fichier.txt" );
InputStreamReader readFluxIn=new InputStreamReader(fluxIn);
BufferedReader buffFluxIn=new BufferedReader(readFluxIn);
 
try
{
ssString str=buffFluxIn.readLine();
//etc..
}

n°10539
DrKoidNeuf
Posté le 21-01-2001 à 12:13:16  profilanswer
 

Hum... ouais... merci pour ta réponse Roswell_, mais ce n'est pas une ouverture en lecture que je voulais, mais en écriture (pour un fichier déjà existant et que je ne veux pas écraser).
 
Toutefois dans ton exemple, quel est l'intérêt de passer par un BufferedReader ? ne peut-on pas se contenter du FileInputStream ?
 
Merci qu'en même.

n°10543
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 21-01-2001 à 13:42:03  profilanswer
 

Roswell te donne un exemple qui est 100% correct. Il te suffit simplement de remplacer Input par Output. J'aimerai avoir ton code parce que je n'arrive toujours pas à comprendre comment tu fais pour écraser (créer) un fichier qui existe déjà!
 
Quand au buffer, c'est une couche supplémentaire qui permet d'améliorer les performances. Voici donc l'exemple pour l'écriture:
 
FileOutputStream fluxOut=new FileOutputtStream("fichier.txt" );ss
OutputStreamReader readFluxOut=new OutputStreamReader(fluxOut);ss
BufferedWriter buffFluxOut=new BufferedWriter(readFluxOut);ss
tryss
{ss
ss//etc..ss
}
 
Allez sans rancune, Mister C++

 

n°10547
DrKoidNeuf
Posté le 21-01-2001 à 15:04:20  profilanswer
 

Je ne remets pas en cause l'exemple de Roswell, qui fonctionne très bien, par contre, je viens de tester ton code darklord, moyennant des p'tites modifs (Désolé pour l'indentation) :
 
import java.io.*;
import java.util.*;
 
public class Test
{
public static void main(String[] args)
{
tryss
{ss
FileOutputStream fluxOut=new FileOutputStream"fichier.txt" );ss
OutputStreamWriter readFluxOut=new OutputStreamWriterfluxOut);ss
BufferedWriter buffFluxOut=new BufferedWriter(readFluxOut);ssss
buffFluxOut.write("La petite maison dans la prairie" );ss buffFluxOut.close();
readFluxOut.close();
fluxOut.close();
}
catch (IOException ioe)
{
System.out.println("Message : "+ioe.getMessage());
}
}
}
 
Et là, tu constateras comme moi que 2 exécutions d'à filer, ne permettent pas d'écrire à la suite du fichier.
 
Je n'ai malheureusement plus le code exact, vu que je travaille dans le même fichier, mais ça ressemblait à cela sans passer par un buffer.
 
Je te donne un extrait de mon code actuel, et qui fonctionne :
 
import java.io.*;
import java.util.*;
 
public class Test
{
public static void main(String[] args)
{
tryss
{ss
FileWriter fw=new FileWriter("fichier.txt",true);
fw.write("La petite maison dans la prairie" );
fw.close();
}
catch (IOException ioe)
{
System.out.println("Message : "+ioe.getMessage());
}
}
}
 
Je cherchais juste à résoudre mon problème, c'est tout.


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

  Comment ouvrir un fichier existant en écriture en Java ?

 

Sujets relatifs
comment aprendre java...comment effacer un fichier avec php
C + propre de programmer en C++ ou en JavaJAVA : faire apparaitre une image avec un MouseEvent
creation de fichier avec PHPMonté un prg JAVA en service sous Windows NT
Java : Comment faire des liens vers des pages webs?[C++] Pb d'écriture de fichiers binaires
Java : évènements avec la sourisJava et labels
Plus de sujets relatifs à : Comment ouvrir un fichier existant en écriture en Java ?


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