1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-25 21:56:06 +00:00
Files
Residence/src/com/bekvon/bukkit/residence/persistance/YMLSaveHelper.java
j502647092 7e0c6a58d7 init project...
Signed-off-by: j502647092 <jtb1@163.com>
2015-05-27 18:06:22 +08:00

68 lines
1.6 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.bekvon.bukkit.residence.persistance;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedHashMap;
import java.util.Map;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.Yaml;
/**
*
* @author Administrator
*/
public class YMLSaveHelper {
File f;
Yaml yml;
Map<String,Object> root;
public YMLSaveHelper(File ymlfile) throws IOException
{
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(FlowStyle.BLOCK);
yml = new Yaml(options);
root = new LinkedHashMap<String,Object>();
if(ymlfile == null)
throw new IOException("YMLSaveHelper: null file...");
f = ymlfile;
}
public void save() throws IOException
{
if(f.isFile())
f.delete();
FileOutputStream fout = new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(fout, "UTF8");
yml.dump(root, osw);
osw.close();
}
@SuppressWarnings("unchecked")
public void load() throws IOException
{
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis, "UTF8");
root = (Map<String, Object>) yml.load(isr);
isr.close();
}
public Map<String,Object> getRoot()
{
return root;
}
}