Bonjour,
je voudrais créer un fichier .properties.
Connaissez-vous des cours ou tutoriels ou exemple dessus? Car je n'en ai encore jamais réalisé.
Merci d'avance.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
/*
* Created on Jan 24, 2007
*
*/
public class PropertiesDemo {
public PropertiesDemo() {
super();
}
/**
* Cette méthode stocke le fichier Properties à l'emplacement spécifié
*
* @param props Le fichier à stocker
* @param fileLocation L'emplacement où le fichier doit être stocké
* @param comments Commentaires à insérer en tête du fichier
* @throws FileNotFoundException
* @throws IOException si une erreur est survenue lors de l'écriture du fichier
*/
public void saveProperties(Properties props, String fileLocation, String comments) throws FileNotFoundException,
IOException {
OutputStream out = new FileOutputStream(fileLocation);
props.store(out, comments);
out.flush();
out.close();
}
/**
* Cette méthode lit un fichier Properties à l'emplacement spécifié
*
* @param propertiesFileLocation L'emplacemnt du fichier
* @return Le fichier Properties chargé
* @throws FileNotFoundException si le fichier n'a pas été trouvé
* @throws IOException si une erreur est survenue durant la lecture
*/
public Properties loadProperties(String propertiesFileLocation) throws FileNotFoundException, IOException {
Properties props = new Properties();
props.load(new FileInputStream(propertiesFileLocation));
return props;
}
/**
*
* Cette méthode affiche cahque paire [clé,valuer] d'un fichier Properties
*
* @param props Le fichier à afficher
*/
public void displayProperties(Properties props) {
Iterator it = props.keySet().iterator();
while (it.hasNext()) {
String propertyName = (String) it.next();
String propertyValue = props.getProperty(propertyName);
System.out.println(propertyName + "=" + propertyValue);
}
}
/**
* Cette méthode permet de démarrer la démo.
*
* On y crée un fichier Properties que l'on remplitavec des paires [clé,valeur]
* puis on le stocke sur le disque. Ensuite on le re depuis le disaue et, enfin,
* son contenu est affiché.
*
* @param args non utilsé
*/
public static void main(String[] args) {
PropertiesDemo demo = new PropertiesDemo();
//Emplacement où sera stocké le fichier
String propertiesFileLocation = "d:/myProperties.properties";
//On instancie un nouvel objet Properties
Properties myProps = new Properties();
//On y insère des paires [clé,valeur]
myProps.setProperty("user.name","HackTrack");
myProps.setProperty("os.name","Linux");
myProps.setProperty("java.ide","Eclipse3.2");
myProps.setProperty("java.applicationserver.name","JBoss AS");
myProps.setProperty("java.applicationserver.version","4.0.5");
myProps.setProperty("user.function","Developer");
myProps.setProperty("user.age","You are too curious!");
try {
//On stocke le fichier sur le disque
demo.saveProperties(myProps, propertiesFileLocation, "This is a demo on Properties by HackTrack");
//On crée un nouvel objet Properties en lisant le fichier sur le disque
Properties loadedProps = demo.loadProperties(propertiesFileLocation);
//On affiche le contenu du fichier
demo.displayProperties(loadedProps);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class FichierPropertiesGenerique {
private Properties prop;
private FileInputStream in;
private String fichierProperties;
public String getFichierProperties() {
return fichierProperties;
}
public void setFichierProperties(String fichierProperties) {
this.fichierProperties = fichierProperties;
}
/**
* Cette méthode ouvre le fichier properties, si l'opération est réussie
* alors elle retourne vrai sinon elle retourne faux.
*/
public boolean ouvrirFichierProperties(String fichierProperties) {
boolean ResultOK;
prop = new Properties();
try {
in = new FileInputStream(fichierProperties);
prop.load(in);
ResultOK = true;
} catch (Throwable e) {
ResultOK = false;
}
return ResultOK;
}
/**
* cette méthode retourne la valeur qui correspond à la clé passée en paramètre
* Si la clé n'est pas trouvé la méthode renvoie une chaîne vide.
*/
public String lireValeur(String cle) {
if (prop != null) {
String Valeur = prop.getProperty(cle, "");
return Valeur;
} else {
return "";
}
}
public void fermerFichier() throws Throwable {
in.close();
}
}
public class FichierPropertiesPromotelec {
private Properties prop;
private String monFichier;
private String monRepertoire;
public void init(){
monRepertoire = prop.getProperty("repertoireEchange");
monFichier = "C:\\Temp\\promo_act.properties";
}
public String RecupererRepertoire() throws Throwable {
FichierPropertiesGenerique fichier = new FichierPropertiesGenerique();
fichier.ouvrirFichierProperties(getMonFichier());
fichier.lireValeur(getMonRepertoire());
fichier.fermerFichier();
System.out.println(getMonRepertoire());
return getMonRepertoire();
}
public String getMonFichier() {
return monFichier;
}
public void setMonFichier(String monFichier) {
this.monFichier = monFichier;
}
public String getMonRepertoire() {
return monRepertoire;
}
public void setMonRepertoire(String monRepertoire) {
this.monRepertoire = monRepertoire;
}
}
java.lang.NullPointerException
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.
j'ai donc fais un copier coller de la démodans un document text.
J'ai créé un fichier dont le nom est décrit dans la démo.
J'ai fait un petit F5 mais il n' y a rien qui se passe. Mon fichier properties est toujours vide. Ais-je fais une manip à l'envers?
Le code donné correspond à une classe Java qui te permet de sauvergarder un objet Property dans un fichier de type properties.
Il te faut donc insèrer cette classe dans ton projet java, et l'utiliser pour pouvoir sauvegarder tes infos.