Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011
-
24 mai 2007 à 17:19
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 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
amundain
Messages postés110Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention28 août 20121 24 mai 2007 à 18:24
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");
}
Spawn3107
Messages postés84Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention28 mars 2011 24 mai 2007 à 19:52
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.