2014-11-06 132 views
0

如何在我的應用程序文件夾中創建.xml文件並將一些數據保存到它?如何在JavaFx中創建.xml文件

public void saveRoomDataToFile(File file) { 
try { 
    JAXBContext context = JAXBContext 
      .newInstance(RoomListWrapper.class); 
    Marshaller m = context.createMarshaller(); 
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 

    // Wrapping our room data. 
    RoomListWrapper wrapper = new RoomListWrapper(); 
    wrapper.setRoomData(RoomData); 

    // Marshalling and saving XML to the file. 
    m.marshal(wrapper, file); 

    // Save the file path to the registry. 
    setRoomFilePath(file); 
} catch (Exception e) { // catches ANY exception 

} 
} 

這部分代碼是用於將數據保存到文件,並且它運行。 我想第一次啓動應用程序時,應用程序文件夾中創建.xml文件,並且我可以編輯它的數據。

例如,如果我有這樣的文件夾:

  1. 文件夾
  2. folder.res
  3. folder.controller
  4. folder.view
  5. folder.model
  6. folder.data

我想將它保存到folder.data。如何獲得該文件路徑?

private void handleSave() { 
    File roomFile = new File(""); 
    if (roomFile != null) { 
     homeAutomation.saveRoomDataToFile(personFile); 
    } else { 
     System.out.println("Error !"); 
    } 
    } 

這是處理保存按鈕的功能。請注意,沒有文件路徑。

回答

0

嘗試使用此函數獲取路徑:example returnPathFile(「/ data/yourfilename.xml」);

public String returnPathFile(String filename){ 
    String path=getClass().getResource(filename).getPath(); 
    path=path.substring(6); 
    int p=path.lastIndexOf("/dist/"); 
    if (p>0){ 
     path=path.substring(0, p); 
     path+="/src"+filename; 
    } 
    return path; 
}