sauvegarder un fichier - Java - Programmation
Marsh Posté le 09-06-2005 à 16:03:23
Je suis pas un habitué du forum, mais à mon avis sans un bout de code, on ne saura pas bcp t'aider
Marsh Posté le 09-06-2005 à 16:11:27
ok voici mon code:
Code :
|
Code :
|
En fait, je pensais que le fait que l'utilisateur choisisse l'endroit ou sauvegarder le fichier suffisait. Mais apparemment non. Il faut surement récupérer cet endroit mais je ne sais pas comment faire.
Merci
Marsh Posté le 09-06-2005 à 16:28:33
file.getName(); te renvoi juste le nom du fichier
C'est marqué dans l'aide !!
Comme tu recupere un objet file , tu peux aussi avoiir le path normalement
Marsh Posté le 09-06-2005 à 16:36:51
oui il y a la methode getPath(). Mais dans ma classe EcrireFichier, la méthode EcrireFichier prend en parametre le nom du fichier. Meme si je rajoute en parametre le chemin (obtenu par getPath()) , je le réutilise comment ce chemin? Avec quelle méthode? Quelle méthode permet de dire que l'on veut mettre tel fichier (nom obtenu avec getName() à tel endroit (chemin obtenu avec getPath() )?
merci
Marsh Posté le 09-06-2005 à 16:54:30
je perdrais pas mon temps à faire des blagues. Je débute en java et j'ai des problemes donc je viens sur le forum pour avoir de l'aide. et si t'as pas envie de répondre, tu le fais pas, d'autres auront la gentillesse de le faire et de comprendre que qd on débute, on a pleins de pbs, surement basiques pour certains mais ils ont du passer par la aussi. Toi aussi, qd t'as commencé à programmer, t'as du poser des questions à la con.
Marsh Posté le 09-06-2005 à 17:05:16
Sauf qu'on est pas la pour regarder a ta place dans l'aide.
Et que le fait de debuter en java ne t'excuse pas sur le fait de ne pas savoir ce qu'est une string et un path.
"c\tonrepertoire\" + "tonfichierala.con" = "c\tonrepertoire\tonfichierala.con" .....
Marsh Posté le 09-06-2005 à 17:11:23
sauf que tu n'as pas compris ce que je n'arrive pas à faire. Dans le code que j'ai mis, a quel moment est indiqué l'endroit ou doit aller le fichier à sauvegarder? car il va dans le repertoire de mon projet sous eclipse. Or ce n'est pas là que je veux qu'il aille. Donc il suffirait juste que je change l'endroit (et ça je saurais faire a priori). Mais deja, il faut que je sache dans mon code, ou je dois modifier (quelle methode ou quel parametre...).
Marsh Posté le 09-06-2005 à 18:43:38
T'as regarder les constructeurs de JFileChooser ?
http://java.sun.com/j2se/1.5.0/doc [...] ng.String)
Marsh Posté le 10-06-2005 à 10:50:38
ok j'ai réussi. Je suis pas sur que ce soit une methode "propre" mais ça fonctionne... Je n'ai pas utiliser le constructeur de JFileChooser avec le path en parametre, mais merci quand meme phnatomass de ton aide.
Marsh Posté le 10-06-2005 à 10:52:40
Si tu passe un nom de fichier sans passer le chemin, l'appli va prendre ....
1/ le nom du fichier uniquement et va creer ton fichier dans le rep courant de l'appli
2/ un chemin au hazard dans son chapeau magique
3/ le chemin que tu veux grace a sa boule de cristal
La reponse est 1, ne t'embete pas a chercher on est la pour ça !!
Donc au lieu de passer une string representant uniquement le nom de ton fichier a ton constructeur tu passes l'objet File qui contient le chemin d'accès au fichier !!!
En plus Ho miracle le constructeur FileOutputStream accepte aussi les objet File.
C'est une des nombreuses solution ...
Comme je sais lire j'ai juste regardé un peu la doc des objets que tu utilises
Le fait que tu debute n'est pas le PB tu vois !!
Marsh Posté le 10-06-2005 à 11:10:25
si, gedeon, qd on est débutant, c'est pas évident de savoir ou est le probleme. Ce n'est absolument pas que je ne veux pas chercher dans la doc car j'ai cherché longtemps avant de poster le message. Mais je n'avais aucune idée d'ou venait le probleme. La classe EcrireFichier, c'est un prof qui nous l'a donnée et qui nous a dit de la laisser telle quelle car ça fonctionnait tout le temps comme ça. Donc je ne me suis pas dit que le probleme pouvait venir de là. La solution que j'ai fini par trouver est celle que tu as écrit (passer un File en parametre de FileOutputStream). Mais j'ai mis du temps à la trouver. Et là ou je me dis que ce forum ne sert pas à grand chose, c'est que tu aurais pu me le dire hier puisque tu savais. Pas me donner la réponse toute faite, c'est vrai que c'est aussi à moi de chercher. Mais me donner une piste. Comme l'a fait phnatomass, meme si ce n'est pas ce que j'ai utilisé.
Marsh Posté le 10-06-2005 à 11:51:40
Bon je vais conclure la dessus.
Comme je t'ai dis la solution que je t'ai donné est une des nombreuses solutions. Ton prof t'as dis que sa fonction marchait telle que, donc il ne faut pas la modifier et la solution n'est pas la bonne à priori.
Je t'ai quand meme donné une piste :
""c\tonrepertoire\" + "tonfichierala.con" = "c\tonrepertoire\tonfichierala.con" ..... "
Essaye de passer le chemin complet au lieu du nom dans la chaine nomFichier , cad file.getPath + "\\" + file.getName()
ça devrait marcher. c'est a vérifier.
Resultat je t'ai donné deux solutions que je n'avait pas forcement en tete avant de regarder l'aide.
En dehors de l'experience qui nous sépare il y a surtout le fait que j'ai "appri" a chercher, c tout. Hélas je ne suis pas sur que ça soit dans les préoccupation des profs.
Marsh Posté le 09-06-2005 à 15:55:55
Bonjour,
J'ai un texte dans un JTextArea que je veux sauvegarder. En cliquant sur le bouton sauvegarder de l'interface, une fenetre apparait: l'utilisateur entre le nom du fichier et choisit l'endroit ou il doit le mettre. Je n'ai pas d'erreur, ni a la compilation ni à l'execution. Mais le fichier n'est pas crée au bon endroit: il se trouve dans le repertoire de mon projet sous eclipse...et je sais pas comment faire pour que le fichier se mette dans l'endroit spécifié par l'utilisateur.
Merci
Message édité par unknown_21 le 09-06-2005 à 16:01:45