IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Ecrire dans un fichier CSV


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 204
    Par défaut Ecrire dans un fichier CSV
    Bonjour à tous,

    Je suis débutant en java.

    Je souhaite écrire dans un fichier csv préablement crée, mais dans mon code,
    à chaque que j'écris une ligne dans le fichier puis le ferme, le coup suivant j'écrase l'ancien contenu. Ce que je ne souhaite pas.


    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
     
    File csvFile = new File("exemple.csv"); 
    			if (!csvFile.exists()) 
    				throw new FileNotFoundException("Le fichier n'existe pas"); 
    			else{
    			PrintStream l_out = new PrintStream(new FileOutputStream("exemple.csv")); 
     
     
     
    			l_out.print("cellule1,"); 
    			l_out.print("cellule2"); 
     
    			l_out.flush(); 
    			l_out.close(); 
    			l_out=null;
    Comment faire pour écire à chaque à la ligne suivante pour ne pas écraser l'ancien contenu?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    En remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new FileOutputStream("exemple.csv")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new FileOutputStream("exemple.csv", true)
    Le true voulant dire "append", et ça sert à écrire à la suite

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 204
    Par défaut
    Merci, ça marche!

    J'en profite pour te demander un autre renseignement.

    Je récupère des string de ce format:
    .../..../...../..../TOTO.txt

    j'aimerai effectuer une opération pour récupérer seulement "TOTO.txt".

    J'ai pensais à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String path = .../..../...../..../TOTO.txt;
     
    //puis
    path = path.substring( ?,path.lenght)
    Et là je ne sais pas quoi mettre à la place du point interrogation.

    Je ne sais pas si j'ai été claire

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Récupérer l'emplacement du dernier / avec lastIndexOf().

    S'il y en a un (résultat différent de -1), tu sais maintenant à quel index doit commencer ton substring().
    S'il n'y en a pas (résultat -1), pas besoin de faire de substring.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Deux autre solutions comme ça tu choisis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] sep =path.split("/") ;
    path = sep[sep.length - 1] ;
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    path = new File(path).getName() ;
    Perso je préfère la dernière, pas de test et en une ligne...

    Edit : en prime, la dernière solution marche indépendamment de l'OS. Les autres cherchent le caractère de séparation qui n'est pas le même sous linux (/) que sous windows (\), donc ça peut couiller.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 204
    Par défaut
    Merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] [CSV] Ecrire dans un fichier CSV sur un serveur
    Par math_thefire dans le forum Langage
    Réponses: 13
    Dernier message: 17/04/2009, 16h44
  2. Ecrire dans u fichier .csv
    Par Jiyuu dans le forum Général Python
    Réponses: 2
    Dernier message: 21/04/2008, 07h57
  3. Réponses: 8
    Dernier message: 08/12/2007, 15h21
  4. ecrire dans un fichier csv ou ods (xls)
    Par afrodje dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/04/2007, 16h45
  5. Ecrire dans un fichier .csv ou .txt à partir d'excel
    Par Beamish dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 02/03/2007, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo