[Java IO] Problèmes d'écritures successives

arkheron - 1 juin 2007 à 23:26
 arkheron - 4 juin 2007 à 11:59
Bonjour,

Voilà, j'ai un problème en Java pour écrire dans deux fichiers différents à la suite. Je dois enregistrer deux jeux de fichiers xml, l'un en francais et l'autre en anglais, et pour récupérer le contenu de chacun j'utilise un ResourceBundle.

Mon code pour écrire ressemble à ca (en simplifié) :

public static void saveAnalysis(String saveDirectory) {
    // premiere sauvegarde
    saveCategoryList(saveDirectory, fileName);

    // changement de langue
    Locale.setDefault(Locale.ENGLISH);
    Messages.refreshBundle(); // ceci concerne la mise à jour des langues, c'est testé et retesté
    
    // deuxieme sauvegarde
    saveCategoryList(saveDirectory, fineName);
}

private static void saveCategoryList(String directory, String fileName){
  try{
    File theFile = new File(directory + File.separator + fileName);
    if (!theFile.exists())
        theFile.createNewFile();
			
    // ouverture en écriture du fichier
    FileOutputStream out = new FileOutputStream(theFile);
    // Confection du fichier
    String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone='yes'?>\n"; // etc, je vous epargne tout le contenu du fichier...

    out.write(xml.getBytes());
    out.close();
  } catch (IOException ioE) {
    ioE.printStackTrace();
  }
}


Voilà, et en fait à chaque fois il me sort une IOException "Le chemin d'accès spécifié est introuvable" lors du 2e enregistrement. Ca me soule... Hésitez pas à poser des questions, j'imagine que j'ai pas tout dit.

Merci d'avance

arkheron
A voir également:

1 réponse

J'ai touvé, je pensais que createNewFile() se chargeait aussi de créer le dossier contenant le fichier si celui ci n'existait pas déjà. Mea culpa.

Moralité : oubliez pas vos mkdir

arkheron
1