如何在JavaFx中创建.xml文件

时间:2014-11-06 11:02:31

标签: javafx filepath

如何在我的应用文件夹中创建 .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

}
}

这部分代码用于将数据保存到文件中,并且它很常见。 我想第一次启动应用程序时,在app文件夹中创建了.xml文件,并且我可以编辑它的数据。

例如,如果我有这个文件夹:

  1. 文件夹
  2. folder.res
  3. folder.controller
  4. folder.view
  5. folder.model
  6. folder.data
  7. 我想将其保存到 folder.data 。如何获取该文件路径?

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

    这是处理保存按钮的功能。请注意,没有文件路径。

1 个答案:

答案 0 :(得分: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;
}