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

avec Java Discussion :

Accès à un répertoire du SF - Droits?


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut Accès à un répertoire du SF - Droits?
    Bonjour à tous et toutes,

    J'ai un petit problème avec mon application, j'aimerai en fait récupérer un fichier et le placer dans un répertoire spécifique lorsqu'un chemin d'accès est fournit. Le problème c'est que le répertoire dans lequel je veux placer mon fichier lu, son accès est refusé :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    java.io.FileNotFoundException: C:\Users\Public\Documents (Accès refusé)
    	at java.io.RandomAccessFile.open(Native Method)
    	at java.io.RandomAccessFile.<init>(Unknown Source)
    	at java.io.RandomAccessFile.<init>(Unknown Source)
    	at test01.FtpTransfert.lectureDonneesVersFichier(FtpTransfert.java:84)
    	at test01.FtpTransfert.telechargerFichier(FtpTransfert.java:67)
    	at test01.Carte2$5.actionPerformed(Carte2.java:359)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Vous avez remarqué dans quel répertoire je veux le placer, est-ce possible pour windows de foutre la paix à mon application? (désolé, je surveille mon langage. Et c'est peut-être pas sa faute en plus...).
    J'ai cherché dans les droits de ce répertoire mais pas trouvé grand chose de fort concluant. Peut-être me conseilleriez-vous un autre répertoire pour stocker temporairement ce fichier? (destiné à être supprimé une fois modifié et uploadé).
    Et petite question supplémentaire, est-ce possible de récupérer le nom de l'utilisateur qui lance l'application pour pouvoir créer le fichier sur son bureau par exemple? Je verrai cela comme ceci : C:\\Users\\nom_user\\Desktop\\

    Merci d'avance pour vos réponses.
    Arkham55.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    bonjour

    Question pourquoi ne pas utiliser "c:\temp\" comme dossier ?

    pour ce qui est du nom d'utilisateur utilise les variables d'environnements.
    HOMEPATH par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getenv("HOMEPATH");

  3. #3
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup pour tes précisions l'ami! ^^
    Je vais essayer les deux possibilités, en plus le répertoire Temp correspond exactement à mes objectifs =)
    Je vous tiens au courant ^^

  4. #4
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut
    Argh... Toujours cette erreur, avec accès refusé :s
    Ta commande fonctionne très bien, elle renvoi "/Users/nom_user" ^^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    peut tu me joindre ton code ou tu vas lire le fichier car moi ca marche tres bien dans temp

    tu utilise win vista ou 7 ?

    eet tu utilisateur ou administrateur de la machine?

  6. #6
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut
    J'utilise windows Seven, je suis administrateur du système.
    Voici le code avec lequel je lis le fichier depuis le serveur ftp et je le transfert :
    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
    20
    21
    22
    23
    24
     
     public boolean telechargerFichier(String cheminServeur, String cheminLocal)throws IOException
            {
                return lectureDonneesVersFichier("retr " + cheminServeur, cheminLocal);
            }
     public boolean lectureDonneesVersFichier(String commande, String nomFichier)throws IOException
            {
                // On a accès au fichier en local, on l'ouvre :
                RandomAccessFile sortieFichier = new RandomAccessFile(nomFichier, "rw");
     
                //S'il faut, on lance un reboot
                if (rebootPoint != 0) {
                    debugAffichage("Recherche de "+rebootPoint);
                    sortieFichier.seek(rebootPoint);
                }
     
                // On convertit l'accès en un objet de type OutputStream
                FileOutputStream fluxFichier = new FileOutputStream(sortieFichier.getFD());
                boolean succes = executerCommandeDonnee(commande, fluxFichier);
     
                sortieFichier.close();
     
                return succes;
            }

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    alors tester sur win 7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            File f = new File(System.getenv("TEMP") + "/user.txt");
            try {
                RandomAccessFile raf = new RandomAccessFile(f, "rw");
                raf.writeBytes("salut");
                raf.close();
     
            } catch (FileNotFoundException ex) {
                System.err.println("[FileNotFoundException] " + ex.getMessage());
            } catch (IOException ex) {
                System.err.println("[IOException] " + ex.getMessage());
            }
    et ça marche pour moi

    pour "c:\TEMP\" ça marche aussi

    dit moi c'est qu'elle ligne qui declanche l'exception ?

  8. #8
    Membre régulier Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Points : 74
    Points
    74
    Par défaut
    Et bin voilà, grâce à ton exemple j'ai compris mon erreur, et non celle de windows ou quoi que ce soit d'autre ^^"
    Je ne donnais que le chemin d'accès au répertoire, et non à un fichier dans lequel le flux de sortie écrira les informations.
    J'ai compris à présent mon erreur grâce à toi. Merci pour ton aide, et désolé du temps que tu as perdu pour si peu.
    Merci encore, à bientôt.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    np

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Delphi 2007] Droit d'accès au répertoire de l'application
    Par sovitec dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 30/01/2008, 15h42
  2. Droits d'accès sur répertoire
    Par belote dans le forum VB.NET
    Réponses: 6
    Dernier message: 20/11/2007, 10h51
  3. Vérification des droits d'accès à un répertoire
    Par in dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/07/2007, 10h52
  4. [Système] Droits d'accès aux répertoires
    Par yohan0262 dans le forum Langage
    Réponses: 8
    Dernier message: 08/06/2007, 07h56
  5. API pour droit d'accès sur répertoire
    Par swirtel dans le forum Windows
    Réponses: 1
    Dernier message: 03/05/2006, 13h33

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