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

Format d'échange (XML, JSON...) Java Discussion :

Choisir un format de fichier XML ou .txt


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Choisir un format de fichier XML ou .txt
    Bonjour a tous,

    je travaille sur la réalisation d'un convertisseur qui reçoit en entrée un document (Word, Excel, Pdf, OpenOffice, ...) ce convertisseur doit retourné en sortie un fichier XML ou .txt,

    Mon problème est le suivant je n'arrive pas à choisir entre ces deux format là XML ou .txt ,lequel est plus facile à manipuler par la suite, qui ne prends pas beaucoup d'espace mémoire,

    Je vous remercie d'avance pour votre aide,

    Cordialement Yannelle

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonsoir,

    Tout dépend de ce que tu dois stocker.
    Pour une structure complexe, il vaut mieux utiliser le XML, même si le fichier risque d'être au final plus volumineux.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse Mathieu,

    Je voudrais pas stocker des structures complexes, mais le fichier résultant serra utilisé et analyser par L'API Java Regex (je ferai des traitements dessus en utilisant des expressions régulières) Pour cela je ne sais pas trop comment choisir !!!

    J'attends vos réponses SVP

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Quel type d'analyse/traitement souhaites-tu faire avec RegEx ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour Mathieu,

    sur le fichier résultant de la conversion, je manipulerai des Regex,
    un programme du genre si tu trouve

    Regex1 fais traitement 1
    Regex2 fais traitement 2
    Regex3 fais traitement 3
    .....

    En gros les traitements sont du genre manipulation des exigences (Ingénierie des exigences)

    Merci d'avance pour vos réponse
    Bonne journée à tous

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Le txt sera peut-être plus simple.
    Tu pourras le parcourir ligne par ligne facilement et appliquer tes REGEX sur chaque ligne.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Mathieu un grand merci pour ton aide

    Une autre question stp;

    j'ai un code qui fait la conversion de Excel vers .txt mais le fichier résultant est illisible il contient des caractères blizzard genre !!!@@?

    Possède tu une astuce pour régler ce problème ???

    Tu trouve mon code source ci-dessous :


    package com.jmdoudoux.test.poi;

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import javax.swing.text.Document;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;

    public class TestPOI1 {

    public static void main(
    String[] args) {

    try {
    FileOutputStream fileOut;


    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("emplacement du fichier Excel"));

    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);
    HSSFRow row = sheet.getRow(0);

    HSSFCell cell = row.getCell((short) 0);
    if (cell != null)
    row.removeCell(cell);
    cell = row.createCell((short) 0);
    cell.setCellType(HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue(new HSSFRichTextString("données modifiées"));



    fileOut = new FileOutputStream("emplacement du fichier texte");
    wb.write(fileOut);

    fileOut.close();

    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fileOut = new FileOutputStream("emplacement du fichier texte");
    wb.write(fileOut);
    C'est ton workbook que tu écris dans fileOut. Donc c'est du binaire. D'où tes caractères bizarres (blizzard c'est WoW ).

    Ce n'est pas parce-que tu mets une extensions .txt que ça va générer un fichier texte.

    Pour écrire du texte, il faut que tu aille chercher la valeur des cellules que tu souhaites et écrire cette valeur sous forme de String via un OutputStreamWriter par exemple.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Merci merci

    Mais je comprends pas vraiment ce que tu veux dire, j'ai essayé mais ça marche toujours pas

  10. #10
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Ce que je veux dire c'est que la méthode write écris du binaire. Un fichier XLS quoi. Donc illisible.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut ça marche toujours pas !!!!!!!!!!!
    Salut Mathieu,

    Voilà j'ai fais des essais mais ça marche toujours pas !!!!!!!!!!!

    voilà ce que j 'ai essayé :


    package com.jmdoudoux.test.poi;

    import java.io.BufferedOutputStream;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.Writer;

    import javax.swing.text.Document;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;

    public class TestPOI1 {

    public static void main(
    String[] args) {

    try {



    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("file.xls"));

    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);
    HSSFRow row = sheet.getRow(0);

    HSSFCell cell = row.getCell((short) 0);
    if (cell != null)

    row.removeCell(cell); System.out.print(cell);
    cell = row.createCell((short) 0);
    cell.setCellType(HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue(new HSSFRichTextString("données modifiées"));


    // Writer out = new BufferedWriter(new OutputStreamWriter(System.out));


    ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(new File("file.txt"))));
    oos.writeObject(wb);
    oos.close();







    // OutputStream outputStream = new FileOutputStream("file");
    // Writer writer = new OutputStreamWriter(outputStream);

    // wb.write(outputStream);

    //writer.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    }
    }


    Si t'as une solution en tête prête merci de me l'as passée

    Merciiiiiiiiiiiiiiiiiiiiiii

  12. #12
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bon. pour écrire un texte dans un fichier texte, voilà comment on fait : on utilise FileWriter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static writeTextFile(String text, File file) throws IOException {
      Writer writer = new FileWriter(file);
      try {
        writer.write(text);
      } finally {
        writer.close();
      }
    }
    Donc, deux choses à faire :

    - obtenir un objet String qui contient le texte à écrire.
    - écrire cet objet String, (et rien d'autre qu'un String,) à l'aide d'un FileWriter (et rien d'autre qu'un Writer.)

    Donc la question que tu dois te poser, c'est sur la première étape : comment extraire le contenu d'un fichier Excel, sous forme de String ?
    Je ne connais pas POI, et je ne connais donc pas la réponse à cette question.
    Mais c'est comme ça qu'il faut faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Débutante
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Merci thelvin
    J'essaierai sa et je poste la réponse :-)

    Merci Beaucoup pour vos réponses, Mathieu, thelvin

Discussions similaires

  1. [Toutes versions] Format import Fichier XML
    Par guen dans le forum IHM
    Réponses: 4
    Dernier message: 29/11/2011, 14h03
  2. Format date fichier xml
    Par franfr57 dans le forum iReport
    Réponses: 0
    Dernier message: 22/06/2009, 14h11
  3. Exporter un fichier xml ou txt
    Par amen_1919 dans le forum W4 Express
    Réponses: 8
    Dernier message: 15/04/2008, 17h45
  4. Verification du format de fichier XML
    Par Katzy dans le forum XML
    Réponses: 1
    Dernier message: 09/08/2007, 18h17
  5. Format De Fichier: Xml
    Par mamid1706 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 13/03/2007, 11h32

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