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

Entrée/Sortie Java Discussion :

lire un fichier à travers le réseau local


Sujet :

Entrée/Sortie Java

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut lire un fichier à travers le réseau local
    Bonjour

    J'aimerais lire un fichier qui se trouve dans un répertoire d'un serveur Unix.
    Ce serveur se trouve à l'intérieur de la boite et il est accessible à travers le réseau local de la boite.

    J'ai pu accéder à une base de données dans ce même serveur en utilisant des des drivers de la base de données en question.

    J'aimerais savoir comment faire la même chose mais pour un fichier.
    Il va falloir fournir le userid et le mot de passe pour ce serveur.

    y a t-il quelqu'un qui a une idée ?

    Ce fichier s'appelle "monfichier" et il se trouve dans le répertoire /usr/fichiers

    Je suis allé voir dans la FAQ des flux et fichiers mais je ne trouve pas d'exemple qui répond à mon cas.

    Moi je suis sur IE et je clique sur un boutton pour déclencher cette opération

    Merci.

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut lire un fichier à travers le réseau local
    En fait, je veux prendre ce fichier du répertoire unix et le mettre dans un repertoire de mon ordinateurs windows, par exemple (c:\mes_fichiers_windows)

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    si ce fichier se trouve sur un serveur distant, tu dois utiliser un protocole pour y accéder : lequel ?

    a++

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut lire un fichier à travers le réseau local
    Citation Envoyé par adiGuba
    Salut,


    si ce fichier se trouve sur un serveur distant, tu dois utiliser un protocole pour y accéder : lequel ?

    a++
    oui j'ai l'intention d'utiliser FTP

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par diamonds
    oui j'ai l'intention d'utiliser FTP
    Donc il "suffit" d'ouvrir une connection FTP. Si je ne me trompe pas, c'est géré par la classe URL, donc ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    URL url = new URL("ftp://login:motdepasse@adresse_serveur/usr/fichiers/monfichier");
    InputStream in = url.openStream();
    try {
     
    	// lecture et traitement du fichier 
     
    } finally {
    	in.close();
    }

    Maintenant si tu veux quelque chose de plus poussé, tu trouveras un grand nombre d'API externe pour cela, comme par exemple Jakarta Commons/Net...

    a++

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut lire un fichier à travers le réseau local
    Citation Envoyé par adiGuba
    Donc il "suffit" d'ouvrir une connection FTP. Si je ne me trompe pas, c'est géré par la classe URL, donc ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    URL url = new URL("ftp://login:motdepasse@adresse_serveur/usr/fichiers/monfichier");
    InputStream in = url.openStream();
    try {
     
        // lecture et traitement du fichier 
     
    } finally {
        in.close();
    }

    Maintenant si tu veux quelque chose de plus poussé, tu trouveras un grand nombre d'API externe pour cela, comme par exemple Jakarta Commons/Net...

    a++
    à quelle place faut-il mettre ce code pour qu'il soit le plsu performant ?
    Est-ce dans l'événement clik du bouton ?

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par adiGuba
    Donc il "suffit" d'ouvrir une connection FTP. Si je ne me trompe pas, c'est géré par la classe URL, donc ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    URL url = new URL("ftp://login:motdepasse@adresse_serveur/usr/fichiers/monfichier");
    InputStream in = url.openStream();
    try {
     
        // lecture et traitement du fichier 
     
    } finally {
        in.close();
    }

    Maintenant si tu veux quelque chose de plus poussé, tu trouveras un grand nombre d'API externe pour cela, comme par exemple Jakarta Commons/Net...

    a++
    J'ai entendu dire qu'il faut absolument créer une partition FAT sur mon disque dur pour pouvoir amener les fichiers de unix vers windows.

    Qu'est ce que vous en pensez ? je ne suis pas trop certain.

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par diamonds
    J'ai entendu dire qu'il faut absolument créer une partition FAT sur mon disque dur pour pouvoir amener les fichiers de unix vers windows.

    Qu'est ce que vous en pensez ? je ne suis pas trop certain.
    Je ne vois pas en quoi le choix de la partition pourrait influencer le transfert de fichier par FTP...



    a++

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par adiGuba
    Je ne vois pas en quoi le choix de la partition pourrait influencer le transfert de fichier par FTP...



    a++
    Peut-être je me trompe, mais je pense que c'est parce que le fichier que j'aménerais d'un répertoire unix sera sur un format non compatible avec le format NTFS.

    Est-ce que ça a du sens ?

  10. #10
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par diamonds
    Peut-être je me trompe, mais je pense que c'est parce que le fichier que j'aménerais d'un répertoire unix sera sur un format non compatible avec le format NTFS.

    Est-ce que ça a du sens ?
    Non : la plupart des sites web sont hébergés sur des serveurs Linux/Unix... et il n'y a pas de "problème" de format tel que celui-là : lorsque un fichier transite par le réseau il n'y a aucune notion de stockage physique qui transite avec...


    a++

  11. #11
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par adiGuba
    Non : la plupart des sites web sont hébergés sur des serveurs Linux/Unix... et il n'y a pas de "problème" de format tel que celui-là : lorsque un fichier transite par le réseau il n'y a aucune notion de stockage physique qui transite avec...


    a++
    Ok je vais alors supposé que le format de la partition ne cause pas de problème.

    En passant je suis en train d'essayer ton code, mais il me donne une erreur
    public String button1_action() {
    URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
    InputStream in = url.openStream();
    try {
    // lecture et traitement du fichier
    } finally {
    in.close();
    }
    return null;
    }
    Je l'ai placé à l'intérieur d'un bouton pour maintenant, et lorsque il marcherait je le mettrais dans une fonction à part qui sera appelée par l'evénement clik de ce bouton.

    Je développe avec Netbeans (VWP).

    J'ai rajouté aussi les librairies suivantes mais, ca me donne la même chose.
    import java.lang.Object;
    import java.*;
    il ne reconnait pas la première ligne, ni la deuxième :
    URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
    InputStream in = url.openStream();

  12. #12
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par diamonds

    Je développe avec Netbeans (VWP).
    fais : ctrl+maj+f pour résoudre tes import

  13. #13
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par afrikha
    fais : ctrl+maj+f pour résoudre tes import
    CECI JE FAIS QUE OUVRIR LA BOITE DE DIALOGUE POUR FAIRE UNE RECHERCHE D'UNMOT SUR LA PAGE.

    Qu'est ce que tu veux dire au juste ?

  14. #14
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    non, excuse-moi c'est : alt+maj+f .
    Tu fais pas les bons imports c'est pour ça qu'il ne reconnait pas les lignes .

  15. #15
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par afrikha
    non, excuse-moi c'est : alt+maj+f .
    Tu fais pas les bons imports c'est pour ça qu'il ne reconnait pas les lignes .
    Non plus. ca ne mearche pas, mais tu m'a donné l'idée et j'ai essayé alt+shift+f et celle là elle marche.

    mais mes deux lignes ne sont toujours pas reconnu et l'erreur est différente maintenant.

    URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
    InputStream in = url.openStream();
    Vioici l'erreur :
    unreported exception java.net.MalformedURLException; must be caught or declared to be thrown

  16. #16
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par diamonds
    Non plus. ca ne mearche pas, mais tu m'a donné l'idée et j'ai essayé alt+shift+f et celle là elle marche.
    Oui c'est ça, peufff je suis pas encore réveillé ou quoi

    L'erreur est claire pourtant, tu dois soit traiter l'exception java.net.MalformedURLException dans un bloc try/catch soit la déclarer avec throws .

    Le mieux étant bien sùr de la traiter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try{
         URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
         InputStream in = url.openStream();
    }catch(MalformedURLException ex){
         ex.printStackTrace();
    }

  17. #17
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par afrikha
    Oui c'est ça, peufff je suis pas encore réveillé ou quoi

    L'erreur est claire pourtant, tu dois soit traiter l'exception java.net.MalformedURLException dans un bloc try/catch soit la déclarer avec throws .

    Le mieux étant bien sùr de la traiter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try{
         URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
         InputStream in = url.openStream();
    }catch(MalformedURLException ex){
         ex.printStackTrace();
    }
    je l'ai essayé et dans le finally, le in.close n'est pas reconnu cer le "in " est déclaré dans le try, et lorsque le try se ferme, le "in" n'est plus reconnu.
    si on sort les deux lignes et les mettre avant le try, on revient à notre problème original.

    Voici le code :
    public String button1_action() {

    try {

    // lecture et traitement du fichier
    URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
    InputStream in = url.openStream();
    }

    catch(java.net.MalformedURLException ex)
    {
    ex.printStackTrace();
    }
    finally {
    in.close();
    }
    return null;
    }

  18. #18
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Et comme ça :
    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
     
    public String button1_action() {
    try{
       try {
     
            // lecture et traitement du fichier
            URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
            InputStream in = url.openStream();
        }finally {
            in.close();
        }
     
    }catch(java.net.MalformedURLException ex)
    {
    ex.printStackTrace();
    }

  19. #19
    Débutant
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par afrikha
    Et comme ça :
    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
     
    public String button1_action() {
    try{
       try {
     
            // lecture et traitement du fichier
            URL url = new URL("ftp://login:motdepasse@adresse_serve...ers/monfichier");
            InputStream in = url.openStream();
        }finally {
            in.close();
        }
     
    }catch(java.net.MalformedURLException ex)
    {
    ex.printStackTrace();
    }
    ça ne change rien, le in.close() est toujours non reconnu.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/03/2009, 10h07
  2. accès à un fichier sur un réseau local
    Par cgoln dans le forum Général Java
    Réponses: 8
    Dernier message: 23/01/2009, 16h52
  3. Obtenir la date d'un fichier sur un réseau local
    Par SergioMaster dans le forum Débuter
    Réponses: 2
    Dernier message: 03/09/2008, 14h49
  4. Réponses: 9
    Dernier message: 19/06/2007, 18h14
  5. Réponses: 2
    Dernier message: 28/05/2007, 08h27

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