2012-11-10 8 views
5

Ich möchte in eine * .properties-Datei schreiben. Das ist mein Code, wie ich dies tun:Schreiben in eine Eigenschaftendatei funktioniert nicht

properties = loadProperties("user.properties");//loads the properties file 
    properties.setProperty(username, password); 
     try { 
       properties.store(new FileOutputStream("user.properties"), null); 
       System.out.println("Wrote to propteries file!" + username + " " + password); 

Ich habe nicht eine Ausnahme erhalten, aber ich auch nicht die Ausgabe in die Datei geschrieben bekommen.

Hier ist auch meine Datei-Struktur:

enter image description here

ich Ihre Antwort zu schätzen !!!

UPDATE

ich meine Eigenschaften mit Datei laden:

InputStream in = ClassLoader.getSystemResourceAsStream(filename); 

Meine Frage ist, wie es von einem bestimmten Pfad zu laden?

Hier ist meine "neue" Dateistruktur:

enter image description here

+1

Ich habe Ihren Code getestet und meine Eigenschaftendatei wird in meinem Arbeitsverzeichnis erstellt. Natürlich, mit Ihrer Dateistruktur ist das falsch. Ich vermute, dass Sie einen Pfad zu Ihrer Datei verwenden müssen, anstatt nur den Dateinamen – ElderMael

+0

zu verwenden, wenn ich den Pfad wie \\ user.properties verwende, bekomme ich "Sie haben keine Rechte, auf die Datei zuzugreifen ..." – maximus

Antwort

3

Hier ist mein Testcode:

@Test 
public void fileTest() throws FileNotFoundException, IOException { 

    File file = null; 

    Properties props = new Properties(); 

    props.setProperty("Hello", "World"); 

    URL url = Thread.currentThread().getContextClassLoader() 
      .getResource("exceptions/user.properties"); 

    try { 
     file = new File(url.toURI().getPath()); 

     assertTrue(file.exists()); 
    } catch (URISyntaxException e) { 

     e.printStackTrace(); 
    } 

    props.store(new FileOutputStream(file), "OMG, It werks!"); 

} 

Es erstellt hat und schreibt eine Datei in meinem Ziel/classes/Ausnahmen Verzeichnis (in einem Maven/Eclipse-Projekt), also denke ich, es funktioniert wirklich, aber natürlich wird das nicht in einer JAR-Datei getestet. Hier

ist die Datei:

#OMG, It werks! 
#Sat Nov 10 08:32:44 CST 2012 
Hello=World 

Überprüfen Sie auch diese Frage: How can i save a file to the class path

Also vielleicht, was Sie tun möchten, wird nie funktionieren.

+0

Ich bin printint er URL zur Überprüfung und es gibt mir als :/C: /Users/IBM_ADMIN/workspace/A_Migration_final/bin/common/props_1.dat aber die richtige URL ist C: \ Benutzer \ IBM_ADMIN \ Arbeitsplatz \ A_Migration_final \ src \ common \ props.dat Es ist in der bin-Datei schreiben, glaubst du, es würde die richtigen Werte geben, wenn sie abgefragt werden? –

Verwandte Themen