2011-09-09 3 views
2

Ma configuration actuelle éclipse est comme ceci:Eclipse comment référencer le fichier dans un autre src sous le même projet

tronc
--working/src
--resources

J'ai un java fichier à l'intérieur d'un paquet sous working/src et j'essaie de récupérer un fichier dans les ressources. Le chemin que j'utilise est "../resources/file.txt". Cependant, je reçois une erreur disant que le fichier n'existe pas.

Toute aide serait appréciée merci!

Répondre

0

Les fichiers seront référencés par rapport à votre projet, utilisez donc "resources/file.txt" pour référencer le fichier. Toutefois, si vous souhaitez que le fichier soit accessible lorsque vous exportez le programme en tant que fichier JAR, le chemin "resources/file.txt" doit exister par rapport à votre fichier JAR.

0

Cela dépend de la manière dont vous avez spécifié votre Java Build Path dans eclipse. J'ai testé deux configurations avec des résultats différents:

  1. Définissez le répertoire working/src uniquement comme chemin de génération. Vous pouvez obtenir les informations contenues dans votre chemin de génération: Select project > Properties > Java Build Path > Tab Source. Tous les dossiers source sont répertoriés. Vous voyez qu'il y a un dossier de sortie par défaut défini. Toutes les ressources contenues dans un chemin de génération sont copiées dans le dossier de sortie par défaut et sont ensuite disponibles pour les classes Eclipse. Vous pouvez vérifier cela dans la perspective de ressource dans votre dossier bin si la ressource est copiée là. Dans cette configuration, seules les classes sont générées, les ressources ne sont pas copiées (et donc introuvables). Définir le répertoire working/src et resources comme chemin de génération. Ensuite, la ressource est copiée et peut alors trouvé par le chemin « fichier.txt »

éclipse a donc un processus simple de construction inclus et cache que le développeur, mais il est un processus de construction tout de même.

1

Compte tenu de votre structure

J'ai paquet comme

tronc

  • travail/src/FileRead.java
  • ressources/Nom list.txt

Le code suivant peut résoudre y notre problème

package working.src; 

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.URL; 

public class FileRead { 
    public FileRead() { 
     URL url = getClass().getResource("/resources/name list.txt"); 
     try { 
      BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
      String nameList; 
      while ((nameList = in.readLine()) != null) { 
       System.out.println(nameList); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) { 
     new FileRead(); 
    } 
} 
Questions connexes