2012-11-10 36 views
5

Tôi muốn ghi vào tệp * .properties. Thats mã của tôi như thế nào tôi làm điều này:Ghi vào tập tin thuộc tính không hoạt động

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

Tôi không có ngoại lệ, nhưng tôi cũng không nhận được kết quả ghi vào tệp.

Đây cũng là tập tin cấu trúc của tôi:

enter image description here

Tôi đánh giá cao câu trả lời của bạn !!!

CẬP NHẬT

tôi tải tập tin thuộc tính của tôi với:

InputStream in = ClassLoader.getSystemResourceAsStream(filename); 

Câu hỏi của tôi là, làm thế nào để tải nó từ một đường dẫn cụ thể?

Đây là của tôi "mới" File Cấu trúc:

enter image description here

+1

Tôi đã kiểm tra mã của bạn và tệp thuộc tính của tôi được tạo trong thư mục làm việc của tôi. Tất nhiên, với cấu trúc tệp của bạn sai. Tôi đoán rằng bạn phải sử dụng đường dẫn đến tệp của bạn thay vì chỉ sử dụng tên tệp – ElderMael

+0

khi tôi sử dụng đường dẫn như \\ user.properties Tôi nhận được "Bạn không có quyền truy cập tệp ..." – maximus

Trả lời

3

Đây là mã thử nghiệm của tôi:

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

} 

Nó tạo ra và ghi đè một tập tin trong mục tiêu/lớp/trường hợp ngoại lệ thư mục của tôi (trong một maven/eclipse proyect) vì vậy tôi đoán nó thực sự hoạt động, nhưng tất nhiên đó không phải là thử nghiệm trong một tập tin JAR.

Dưới đây là file:

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

Ngoài ra, kiểm tra câu hỏi này: How can i save a file to the class path

Vì vậy, có lẽ những gì bạn muốn làm sẽ không bao giờ làm việc.

+0

Tôi đang in URL để kiểm tra và nó được đem lại cho tôi như :/C: /Users/IBM_ADMIN/workspace/A_Migration_final/bin/common/props_1.dat nhưng URL đúng là C: \ Users \ IBM_ADMIN \ workspace \ A_Migration_final \ src \ common \ props.dat Nó đang viết trong tệp bin, bạn có nghĩ nó sẽ cung cấp các giá trị đúng khi được truy vấn không? –

Các vấn đề liên quan