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

Messages postés
84
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
28 mars 2011
- - Dernière réponse : sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
- 24 mai 2007 à 22:52
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 !
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
110
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
28 août 2012
1
3
Merci
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");
        }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Commenter la réponse de amundain
Messages postés
84
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
28 mars 2011
0
Merci
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
Commenter la réponse de Spawn3107
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11
0
Merci
probleme resolu ^^
Lock ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath