JDOM : Premature end of file.
Bonjour à tous,
J'ai un problème avec JDOM et j'aimerais avoir votre aide s'il vous plaît.
Je travaille avec JDOM pour la génération de fichiers côté client qui seront traités côté serveur (de mon application). Pour se faire, j'ai lu la doc fournie par le site ici, aussi bien pour la création que la lecture de fichiers XML.
A la création, tout se passe bien. J'ai un fichier au format suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<?xml version="1.0" encoding="UTF-8"?>
<application>
<transfert classe="P2">
<seller>2338</seller>
<operator>Test</operator>
<customer>9440</customer>
<amount>250</amount>
<date>2010-10-09 02:45:28 PM</date>
</transfert>
</application> |
Pour la lecture, mon code est le suivant:
Code:
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
|
SAXBuilder sxb = new SAXBuilder();
String[] array;
File dir = new File(dirname);
array = dir.list();
System.out.println("Lecture du répertoire " + dirname + "... ");
Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Lecture du répertoire " + dirname + "...");
Arrays.sort(array);
for (int i = 0; i < array.length; i++) {
System.out.println("--" + dirname + "\\" + array[i]);
Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "--" + dirname + "\\" + array[i]);
try {
document = sxb.build(new File(dirname + "\\" + array[i]));
} catch (Exception e) {
e.printStackTrace();
logger = new MyLogger(MyLogger.file);
logger.getLog().log(Level.SEVERE, e.getMessage(), (Throwable) e);
}
//On initialise un nouvel élément racine avec l'élément racie du document
racine = (Element) document.getRootElement();
extractData();
System.out.println("Déplacement du fichier " + dirname + "\\" + array[i] + "...");
Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Déplacement du fichier " + dirname + "\\" + array[i] + "...");
File file = new File(dirname + "\\" + array[i]);
File archiveFile = new File(archive + "\\" + array[i]);
if (file.renameTo(archiveFile)) {
System.out.println("Déplacement du fichier " + dirname + "\\" + array[i] + " OK");
Fichier.getInstance().ecrireFichier(Fichier.fichierRequetes, "Déplacement du fichier " + dirname + "\\" + array[i] + " OK");
}
} |
Mais l'exception suivante est levée:
Code:
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
|
11 oct. 2010 15:27:55 messages.ReadXMLFile init
GRAVE: Error on line 1 of document file:/C:/application20101009024528PM75082338.xml: Premature end of file.
org.jdom.input.JDOMParseException: Error on line 1 of document file:/C:/EvendingFiles/evending20101009024528PM75082338.xml: Premature end of file.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:530)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:905)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:884)
at messages.ReadXMLFile.init(ReadXMLFile.java:143)
at phase1.MessageReception$RemindTask.run(MessageReception.java:41)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1058)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
... 6 more |
Désolée pour tous ces codes. Je ne sais pas d'où provient mon erreur, d'autant plus qu'avant tout se passait bien. Si quelqu'un peut m'aider...
Merci d'avance.