Construire chemin d' un fichier texte [Résolu/Fermé]

Signaler
Messages postés
84
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
28 mars 2011
-
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
-
Bonjour,

j'ai un petit problème lorsque je veux écrire dans un fichier. En fait, pour créer le fichier dans le chemin que veux.

Pour ecrire le projet dans mon fichier :

FileOutputStream fichierOs = new FileOutputStream(System.getProperty("user.dir")+File.separatorChar+tmp+".ser");
ObjectOutputStream oos = new ObjectOutputStream(fichierOs);           
oos.writeObject(Projet);
oos.flush();
oos.close();
fichierOs.close();

Mon problème est dans le FileOutputStream(...). Je veux qu'il enregistre chaque Projet dans un fichier different. Donc je construit le chemin avec tmp(qui est l identifiant du projet) + ".ser".

Donc je veux : C:\Program Files\s1studio\ce\bin\P107424aze.ser

Mais il me fait : C:\Program Files\s1studio\ce\bin\P107\4\24aze.ser

Donc il me renvoie FileNotFoundException.

J'espere que j ai ete clair,

Merci pour votre aide !

3 réponses

Messages postés
110
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
28 août 2012
1
Hello,

Tu as été très clair, en effet...mais le fait est que j'ai essayé ce code à la maison, et qu'il fonctionne chez moi !
Je définis une String pour le nom de fichier, et procède par concaténation, comme toi, pour construire le chemin...
Tu es sûr que le problème ne vient pas de ton "tmp", plutôt ?

A +,

amundain

PS :Pour info, ci-joint le code que j'ai essayé et qui tourne...c'est le même, ou presque !
Je travaille sous E:\, et il me crée bien un fichier sous E:\P1047.ser dans lequel apparait ma String en toutes lettres...

        String tmp="P1047";
   
        try
        {
            FileOutputStream fichierOs = new
            FileOutputStream(System.getProperty("user.dir")+File.separatorChar+tmp+".ser");
            ObjectOutputStream oos = new ObjectOutputStream(fichierOs);          
            oos.writeObject(new String("Test écriture"));
            oos.flush();
            oos.close();
            fichierOs.close();
        }
        catch (IOException e)
        {
        System.out.println("Erreur sur : "+System.getProperty("user.dir")+File.separatorChar+tmp+".ser");
        }
Messages postés
84
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
28 mars 2011

J ai trouve mon erreur. Comme tu le disais, cela vient du tmp. En fait,il contient une date et pour cela il m'affichait des '/'. Donc avec un tmp.replace('/','_'); , ca marche bien.

Merci
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
12
probleme resolu ^^
Lock ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"