IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

je peux ecrire sur mon disque, mais mon code veut pas que j'écrive ou je veux


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Points : 73
    Points
    73
    Par défaut je peux ecrire sur mon disque, mais mon code veut pas que j'écrive ou je veux
    Bonjour,

    j'ai fait un petit code qui me permet d'écrire sur mon disque, c un code standard que j'ai recuperer sur developpez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void ecrire(AppletPh2 a, String nomFichier1, String texte) {
    this.nomFichier=nomFichier1;
    adressedufichierGlobal="C:\\TEMP"+this.nomFichier;
    try{
    FileWriter fw = new FileWriter(adressedufichierGlobal, true); // true permet d'accumuler les écritures dans le fichier txt
    BufferedWriter output = new BufferedWriter(fw); 
    output.write(texte);
    output.flush();
     
    }catch(IOException ioe){
    System.out.println("erreur : " + ioe );
    	}
    }
    ça fonctionne bien ; jusque la ok !
    mais moi j'en demande plus et j'ai crée une petite boite de dialogue avec 3 text field que je récupere, qui me permet de determiner l'emplacemenent !
    voila je code des textfield que l'on récupere ensuite vers la fonction ecrire
    c dans ma classe boitedeDialogue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
        public void actionPerformed(ActionEvent e){
        	if (e.getSource()==bValider){
        		tfEntier = this.tfPeriode.getText();
        		tfTexte = this.tfTitreFichier.getText();
        		strAdresse01 = this.tfAdresse1.getText(); ROOT
        		strAdresse02 = this.tfAdresse2.getText(); sous dossier
        		strAdresse03 = this.tfAdresse3.getText(); sous sous dossier
                    // eft est de type EcrireFichierTexte
        		this.eft.setNomFichier("tfTexte");
        		this.eft.setAdresse01(this.strAdresse01);
        		this.eft.setAdresse02(this.strAdresse02);
        		this.eft.setAdresse03(this.strAdresse03);
        		this.setVisible(true);
        		System.out.println(eft.getAdresse01());
        	}
        }
    le constructeur de EcrireFichierTexte inclut donc 3 string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public class EcrireFichierTexte{
    	private AppletPh2 app;
    	private String adressedufichier01; // localisation sur le disque
    	private String adressedufichier02;
    	private String adressedufichier03;
    	private String adressedufichierGlobal; // idem + nomFichier !
    	private String nomFichier;
    	//private JFrame _bdd = app.getFenetrePrincipale().get
    	//private JFrame _bdd =app.getFenetrePrincipale().retourneBDD();
     
    	public EcrireFichierTexte(AppletPh2 applet){
    		this.app = applet;
    		this.adressedufichier01 = "C:";
    		this.adressedufichier02 = "TEMP";
    		this.adressedufichier03 = "";
    	}
    ce qui donne ceci ajouté au début du code précédent fonction ecrire (fonction de EcrireFichierTexte):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public void ecrire(AppletPh2 a, String nomFichier1, String texte) {
    this.nomFichier=nomFichier1;
    //par defaut au lancement ça va danc C:\\TEMP
    // après plus possible de changer :S
    if ( this.adressedufichier02=="" && this.adressedufichier03=="" )
    {adressedufichierGlobal=(this.adressedufichier01+"\\"+this.nomFichier);}
     
    else if (this.adressedufichier02!="" && this.adressedufichier03==""  )
    {adressedufichierGlobal=(this.adressedufichier01+"\\"+this.adressedufichier02+"\\"+this.nomFichier);}
     
    else if (this.adressedufichier02!="" && this.adressedufichier03!=""  )
    {adressedufichierGlobal=(this.adressedufichier01+"\\"+this.adressedufichier02+"\\"+this.adressedufichier03+"\\"+this.nomFichier);}
     
    System.out.println("01"+this.adressedufichier01);
    System.out.println("02"+this.adressedufichier02);
    System.out.println("03"+this.adressedufichier03);
    try{
    FileWriter fw = new FileWriter(adressedufichierGlobal, true);
    malheureusement : il n'y a rien a y faire quand je change les champ de mes textfield par contre si je change QUE le nom du fichier pas de problème !

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En une phrase:
    Les comparaisons de chaines ddoivent se faire avec la méthode equals de la classe String et non les opérateur == ou != (== et != vont tester l'adresse mémoire de ta chaine, ce qui est complètement aléatoire...)

    Deuxième petit truc: remplace tous tes \\ par des / dans tes chemins de fichier: le / marche pour tous les OS en java (y compris windows) alors que les \\ est window$ only.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre régulier Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Points : 73
    Points
    73
    Par défaut
    Est ce qu'un JFileChooser serait approprié ?
    Ou plutot est ce qu'un JFolder (qui indiquerait juste l'emplacment si ça existe ) serait approprié ?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par poulette3000
    Est ce qu'un JFileChooser serait approprié ?
    Ou plutot est ce qu'un JFileFolder (qui indiquerait juste l'emplacment si ça existe ) serait approprié ?
    Plutôt.
    Soit un JFileChooser en mode DIRECTORIES_ONLY

    Soit ce genre de choses qui n'existe pas dans java de base
    http://common.l2fprod.com/
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Points : 73
    Points
    73
    Par défaut
    merci ça me semble pas trop mal ça :
    http://bugs.sun.com/bugdatabase/view...bug_id=6466067
    si ce n'est que je supprimerait tous les comment !

  6. #6
    Membre régulier Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Points : 73
    Points
    73
    Par défaut
    ça crée un bug ou ça empeche un bug ?

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca montre comment reproduire un Bug du JFileChooser.

    Pour apprendre à utiliser un JFileChooser mieux vaut aller par là:http://java.sun.com/docs/books/tutor...lechooser.html
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/03/2015, 16h24
  2. Réponses: 6
    Dernier message: 08/08/2006, 11h57
  3. [.sqm] des fichier sqm sur la racine de mon disque C:
    Par aityahia dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/07/2006, 18h24
  4. Ecrire sur un disque FAT32
    Par chaval dans le forum Administration système
    Réponses: 2
    Dernier message: 08/01/2006, 09h13
  5. Interdire à X d'écrire sur le disque dur, possible ?
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 29/10/2004, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo