2012-11-10 12 views
5

Chcę napisać do pliku * .properties. To jest mój kod, jak to zrobić:Zapisywanie do pliku właściwości nie działa

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); 

Nie otrzymuję wyjątku, ale również nie zapisuję wyników w pliku.

Oto mój plik również struktura:

enter image description here

cenię swoją odpowiedź !!!

UPDATE

załadować plik z moich Właściwości:

InputStream in = ClassLoader.getSystemResourceAsStream(filename); 

Moje pytanie jest, w jaki sposób załadować go z określonej ścieżki?

Oto mój "nowy" Struktura pliku:

enter image description here

+1

Przetestowałem Twój kod, a mój plik właściwości został utworzony w moim katalogu roboczym. Oczywiście z nieprawidłową strukturą plików. Domyślam się, że musisz użyć ścieżki do pliku, zamiast używać tylko nazwy pliku – ElderMael

+0

, gdy używam ścieżki takiej jak \\ user.properties. Otrzymuję "Nie masz uprawnień dostępu do pliku ..." – maximus

Odpowiedz

3

Oto mój kod badania:

@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!"); 

} 

To nie tworzy i przepisuje plik w moim docelowe/classes katalogu/wyjątki (w proveect maven/eclipse), więc myślę, że to naprawdę działa, ale oczywiście to nie jest testowane w pliku JAR.

Oto plik:

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

także sprawdzić to pytanie: How can i save a file to the class path

Więc może to, co chcesz zrobić, nigdy nie będzie działać.

+0

Jestem autorem Adres do sprawdzania i to daje mi jako :/C: /Users/IBM_ADMIN/workspace/A_Migration_final/bin/common/props_1.dat ale prawidłowym URL jest C: \ Users \ IBM_ADMIN \ roboczy \ A_Migration_final \ src \ common \ props.dat To jest w pliku bin, myślisz, że dałoby prawidłowe wartości, gdy zapytał? –

Powiązane problemy