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 :

can't find .csv file


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Points : 5
    Points
    5
    Par défaut can't find .csv file
    Bonjour
    Donc mon problème est que j'ai besoin de charger un fichier.csv à partir de mon programme
    voici à quoi ressemblent mes dossiers :
    Nom : 69625700-729f8200-1047-11ea-803a-0ce1c1cbf694.png
Affichages : 146
Taille : 19,1 Ko

    Quand j'exécute le programme, je vois ceci dans le terminal :
    Difficulté à lire le fichier labyrinthe1.csv
    java.io.FileNotFoundException : labyrinthe1.csv (porint.dnjk (Le fichier spécifié est introuvable))
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.(FileInputStream.java:138)
    at java.util.Scanner.(Scanner.java:611)
    at Labyrinthe.chargeLabyrinthe(Labyrinthe.java:11)
    at Labyrinthe.main(Labyrinthe.java:143)
    D:\Bureau\Cours\Licence_Informatique_Diderot\Semestre-1\IP1-Java\labyrinthe1.csv

    Mais quand j'ai mis le fichier labyrinthe1.csv dans le dossier IP1-Java
    ça marche bien, mais ça va créer du désordre dans mes fichiers.
    donc je dois mettre tout ce qui concerne ce programme dans le dossier TP10
    J'ai essayé ceci :

    Nom : 69626037-1be67800-1048-11ea-8e9c-df6e1456a626.png
Affichages : 130
Taille : 7,3 Ko

    J'ai ajouté en haut de mon programme "package aaaa ;"

    mais même comme ça il ne le trouve pas.
    donc je demande ici de l'aide (

    (Je dois préciser qu'il n'y a aucun problème dans mon programme, il a été codé par mon professeur, et tout a fonctionné quand je l'ai essayé sur l'ordinateur de l'école)

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Forcément si tu changes l'emplacement du fichier, il faut changer cet emplacement dans le code.

    1. Lorsqu'on accède à des fichiers par la classe File, on accède à des fichiers par un chemin dans le système de fichiers
      1. le chemin peut être absolu
        comme tu as placé ton fichier dans ton projet dans l'EDI, il te faut mettre son emplacement absolu correspondant
      2. le chemin peut être relatif
        Dans ce cas il est relatif au dossier de travail. Dans une exécution en console, c'est le dossier dans lequel on lance la commande. Dans un IDE (je parle bien d'IDE et pas d'éditeur qui se fait passer pour un IDE avec un peu de colorisation et de complétion), c'est le dossier de projet. Dans ton cas, comme tu l'as mis à la racine du projet, il te suffirait de modifier le code en faisant un new FileInputStream("labyrinth1.csv").

      En général, pour les accès direct à des fichiers, il est préférable soit de passer par un paramétrage externe, ou configuration externe, soit d'utiliser une sélection interactive (genre JFileChooser en Swing). Avec un chemin de fichier en dur dans le code, sans changer le code, il existe une solution ultime : subst, ou mklink, mais ça t'obligera quand même à créer une structure de dossier. Les liens symboliques également pourraient permettre de gérer le truc, seulement ils ne sont pas supportés par io, seulement par nio2, donc changement du code.
    2. On peut accèder à un fichier en tant que ressource, ce qui permet en particulier de l'inclure dans le jar qu'on va contruire pour diffuser l'application. Dans ce cas, on ne passe plus par la classe File, parce qu'une entrée dans un jar n'est pas un fichier. On utilise les méthodes getResource() ou getResourceURL() de Class ou ClassLoader.


    Voici pour les généralités. Comme tu ne montres aucun code, difficile de faire une réponse plus spécifique.

    Citation Envoyé par SkyNalix Voir le message
    J'ai ajouté en haut de mon programme "package aaaa ;"
    La mise de la classe dans un package n'a strictement aucun impact sur l'accès à un fichier.

Discussions similaires

  1. LOAD DATA LOCAL INFILE : #2000 - Can't find file
    Par Aenur56 dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/06/2012, 11h23
  2. ERROR 1017 (HY000): Can't find file: '.frm' (errno: 13)
    Par VLE2011 dans le forum Requêtes
    Réponses: 4
    Dernier message: 09/06/2011, 16h29
  3. can't find the format file `tex.fmt'!
    Par Saita dans le forum Distributions
    Réponses: 1
    Dernier message: 04/12/2009, 16h24
  4. [VB6]Compil error: can't find project or library
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/05/2006, 22h28
  5. Réponses: 7
    Dernier message: 07/04/2005, 14h45

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