Comment puis-je obtenir chemin de la ressource sous WEB-INF/dossier de classe (java ee web dynamique de projet)

Je développe web dynamique de projet dans Eclipse. Un seul fichier, le fichier nommé 'users.txt il est situé sous le dossier des classes (WEB-INF/classes/users.txt).

Comment je peux obtenir le chemin d'accès relatif de ce fichier dans la classe (classe de base, pas de classe de servlet)? Je vais utiliser ce chemin pour ajouter plusieurs lignes de texte.

Chrétienne, c'est le code qui fonctionne pour la lecture. Le problème est que je ne sais pas comment faire pour créer un objet de la rédaction (de sortie) dans le même fichier avec chemin d'accès relatif.

public Products(){
    try{
        InputStream in = getClass().getClassLoader().getResourceAsStream("products.txt");    
        BufferedReader br = new BufferedReader(new InputStreamReader(in));

        readProducts(br);
        in.close();
            br.close();


    }catch(Exception e){
        System.out.println("File doesn't exists");
    }
    }

    public void readProducts(BufferedReader in) throws NumberFormatException, IOException{

        String id="";
        String name="";
        double price=0;

        StringTokenizer st;
        String line;

        while((line=in.readLine())!=null){
            st=new StringTokenizer(line,";");
            while(st.hasMoreTokens()){
                id=st.nextToken();
                name=st.nextToken();
                price=Double.parseDouble(st.nextToken());           
            }           
            products.put(id,new Product(id,name,price));
        }
    }
  • Pouvez-vous poster quelques codes au moins ce que vous avez essayé jusqu'à présent?
  • Vous êtes à la recherche de la solution dans la mauvaise direction. Vous n'êtes pas censé écrire dans le dossier de déploiement au cours de l'exécution, a fortiori, de les déployer classpath. Placez le fichier dans un emplacement fixe à l'extérieur du dossier de déploiement. Un bonus supplémentaire est que votre problème actuel est immédiatement résolu de cette façon. Par ailleurs, la pratique courante est d'utiliser une base de données SQL pour ce genre de trucs.
InformationsquelleAutor anna | 2013-08-09