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

Entrée/Sortie Java Discussion :

Ouvrir des fichiers .doc en Java


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Ouvrir des fichiers .doc en Java
    Bonjour,

    Je suis débutant et j'aimerai ouvrir des .doc en java voici mon code :

    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
    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
    43
    44
    45
    46
    47
     
    import java.io.*;
    import org.apache.poi.poifs.eventfilesystem.*;
    import org.apache.poi.hdf.extractor.*;
     
     
    public class PoiTest {
     
    	public static void main(String[] args)
    	throws IOException	{
     
    		final String filename = args[0];
    		POIFSReader r = new POIFSReader();
    		r.read(new FileInputStream(filename));
    		// create temp file of content
    		String tempF="test.txtl";
    		//
    		testDoc td=new testDoc(filename, tempF);
    		td.getText();
    	}
     
    } // end of class PoiTes
     
    class testDoc {
    	String origFileName;
    	String tempFile;
    	WordDocument wd;
     
    	testDoc(String origFileName, String tempFile) {
    	this.tempFile=tempFile;
    	this.origFileName=origFileName;
    	}
     
    	public void getText() {
    	try {
    		wd = new WordDocument(origFileName);
    		Writer out = new BufferedWriter(new FileWriter(tempFile));
    		wd.writeAllText(out);
    		out.flush();
    		out.close();
    	}
    	catch (Exception eN) {
    	System.out.println("Error reading document:"+origFileName+"\n"+eN.toString());
    	}
    	} // end for getText
     
    } // end of class
    J'obtiens l'erreur :

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at PoiTest.main(PoiTest.java:12)
    Merci d'avance pour votre precieuse aide

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at PoiTest.main(PoiTest.java:12)
    à la ligne 12 on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final String filename = args[0];
    Alors donc, on a un message d'erreur qui dit "zéro pas bon dans cette ligne là"

    Qu'est ce que cela peut-il donc bien être alors qu'est la cause ?
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu n'as pas donné d'argument à ton programme. Le tableau "args" est vide.
    Accéder à son élément zéro est donc une erreur.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci à vous .

    Par contre je débute en Java donc pouvez-vous me dire ce qu'il faut faire pour le faire fonctionner ?

  5. #5
    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
    Remplace args[0] par "C:/chemin/vers/le/fichier.doc" et reviens étudier le problème quand tu auras pris de l'expérience en Java.

    Note : ouvrir des fichiers .doc n'est pas une des premières choses qu'on devrait essayer de faire en Java. Ça demande à être à l'aise en programmation, et se concentrer seulement sur la bibliothèque POI et les fichiers .doc.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour et merci pour les réponses.

    J'ai donc mis le chemin du fichier, il n'y a plus du tout d'erreur mais le problème est que rien ne se lance... (je suis sous Eclipse)

  7. #7
    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
    Montre le code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    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
    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
    43
    44
    45
    46
    47
     
    import java.io.*;
    import org.apache.poi.poifs.eventfilesystem.*;
    import org.apache.poi.hdf.extractor.*;
     
     
    public class PoiTest {
     
    	public static void main(String[] args)
    	throws IOException	{
     
    		final String filename ="C:\\Users\\john\\Desktop\\cours\\M1\\anglais\\First of all.doc";
    		POIFSReader r = new POIFSReader();
    		r.read(new FileInputStream(filename));
    		// create temp file of content
    		String tempF="test.txtl";
    		//
    		testDoc td=new testDoc(filename, tempF);
    		td.getText();
    	}
     
    } // end of class PoiTes
     
    class testDoc {
    	String origFileName;
    	String tempFile;
    	WordDocument wd;
     
    	testDoc(String origFileName, String tempFile) {
    	this.tempFile=tempFile;
    	this.origFileName=origFileName;
    	}
     
    	public void getText() {
    	try {
    		wd = new WordDocument(origFileName);
    		Writer out = new BufferedWriter(new FileWriter(tempFile));
    		wd.writeAllText(out);
    		out.flush();
    		out.close();
    	}
    	catch (Exception eN) {
    	System.out.println("Error reading document:"+origFileName+"\n"+eN.toString());
    	}
    	} // end for getText
     
    } // end of class

  9. #9
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Nan mais tu n'as lu aucune doc sur Java ?? Moi ça ne me donne pas envie d'aider, aussi peu d'efforts. On n'est pas là pour remplacer la doc.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  10. #10
    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
    Euh, je vois pas bien ce que de la doc sur Java vient faire là-dedans...

    Chez moi le dernier code montré fonctionne : il crée un fichier test.txtl qui contient la première ligne de texte du fichier .doc mentionné.

    Edit : quoi qu'en effet on peut se demander à quoi ça sert de créer un POIFSReader. Mais ça relève plus du bon sens général en programmation que de la doc Java.

    Edit 2 : apparemment cette classe WordDocument et tout ce qui se trouve dans org.apache.poi.hdf est déprécié. Ce qui signifie que ça a de bonnes chances de ne plus marcher. Apparemment j'ai eu de la chance avec mon fichier .doc, ce ne sera pas le cas de tout le monde.
    Il faut faire autrement, mais comme je l'ai déjà dit, lire du .doc c'est pas du truc de débutant. On a répondu aux questions de débutant, la suite ça devra se passer ailleurs.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Ah non, 1000 excuses, j'ai cru qu'il n'y avait pas de "main", je me mettrais bien -1 moi-même Ca plus la mauvaise humeur du lundi matin...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

Discussions similaires

  1. Ouvrir des fichier avec Java
    Par mr-nameless dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 07/10/2009, 04h16
  2. ouvrir des fichier audio sur java
    Par IMEN_ dans le forum Multimédia
    Réponses: 2
    Dernier message: 05/08/2007, 23h21
  3. [Fichier]ouvrir un fichier owl en java
    Par JavaNulles dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/08/2006, 09h26
  4. Réponses: 2
    Dernier message: 22/10/2004, 11h30

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