Partage
  • Partager sur Facebook
  • Partager sur Twitter

fichier properties introuvable

Le chemin d’accès spécifié est introuvable pour le fichier properties

8 juin 2014 à 18:27:44

Bonjour,
Je suis entrain de réalisé un petit projet web pour gestion de catégorie et je bloque sur la lecture des paramètres à partir d'un fichier properties
enfaite je souhaite lire le fichier properties que j'ai mis dans un package qui s'appelle ma.gestion.util dans une classe singleton qui fait parti du même package que j'appelle dans la méthode init de ma servlet qui permet la connexion avec ma base de donnée mysql sauf que j'ai le message suivant : Le chemin d’accès spécifié est introuvable pour le fichier properties.
voila mon fichier properties:

 
url=jdbc:mysql://localhost:3306/category
login=root
psw=

et ma classe singleton:

package ma.gestion.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class Connexion {
 
	private static Connection connect;
 
	public static Properties chargerProperties(String f) throws IOException,
			FileNotFoundException {
		Properties properties = new Properties();
 
		FileInputStream input = new FileInputStream(f);
		try {
 
			properties.load(input);
 
 
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return properties;
	}
 
	private Connexion() throws SQLException, ClassNotFoundException {
try {
	Properties pro = chargerProperties("./src/ma/gestion/util/connexion.properties");
	Class.forName("com.mysql.jdbc.Driver");
	connect = DriverManager.getConnection(pro.getProperty("url"),
			pro.getProperty("login"), pro.getProperty("psw"));
} catch (Exception e) {
	// TODO: handle exception
	e.printStackTrace();
}
 
 
	}
 
	public static Connection getInstanceConnexion() throws SQLException,
			ClassNotFoundException {
		if (connect == null) {
			new Connexion();
		}
		return connect;
	}
 
}





  • Partager sur Facebook
  • Partager sur Twitter
8 juin 2014 à 18:52:45

Bonjour.

Essaye de remplacer ./src/ma/gestion/util/connexion.properties par connexion.properties, et dis moi nous cela fonctionne.

  • Partager sur Facebook
  • Partager sur Twitter
Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
8 juin 2014 à 19:11:10

Bonjour,

Avant tout merci de m'avoir répondu.

J'avais déjà test mais ça n'a pas fonctionné j'ai test à nouveau au cas ou j'ai comme message d'erreur : Le fichier spécifié est introuvable.

  • Partager sur Facebook
  • Partager sur Twitter
8 juin 2014 à 19:55:47

Fonctionne chez moi, avec le fichier dans le chemin suivant :

try {
	Properties properties = new Properties();
	FileInputStream input = new FileInputStream("src/fr/pinguet62/test/connexion.properties");
	properties.load(input);
} catch (Exception e) {
	e.printStackTrace();
}

Personnellement je te déconseillerai de placer ton fichier de config dans les sources de ton projet : ton programme est construit dans le répertoire bin, du coup cela ne fonctionne plus si src n'existe plus (par exemple projet exporté ou JAR).
Crée plutôt un répertoire resources par exemple.

-
Edité par Pinguet62 8 juin 2014 à 19:58:30

  • Partager sur Facebook
  • Partager sur Twitter
Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
9 juin 2014 à 21:08:22

Essai de mettre le chemin complet comme ceci:

ton fichier si il est sur le disque ça devrait marcher.

C:\\...\\ma\\gestion\\util\\tonfichier.extension

  • Partager sur Facebook
  • Partager sur Twitter
8 février 2022 à 12:08:11

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)