我想知道如何在Dropbox中获取YAML文件并将其存储为Java中的YamlConfiguration对象。这是针对Bukkit插件的,因此Plugin对象是API的一部分。 我现在的代码只是本地代码,这里是:
private File cfile;
private FileConfiguration config;
private Plugin p;
//setup
public void setup(Plugin p){
this.p = p;
cfile = new File(p.getDataFolder(), "punishments.yml");
config = YamlConfiguration.loadConfiguration(cfile);
config.save(cfile);
}
我如何从Dropbox获取此文件,以及如何使用更新的信息重新上传它? https://www.dropbox.com/s/hv8yhz0grci8xpl/punishments.yml
由于
答案 0 :(得分:0)
我不确定我是否理解Bukkit API,但如果你想下载文件,我会为你写这个:
public static boolean downloadFile(String urlStr, String fileStr)
{
boolean success = true;
InputStream urlStream = null;
BufferedInputStream iStream = null;
FileOutputStream fOutput = null;
try
{
URL url = new URL(urlStr);
urlStream = url.openStream();
iStream = new BufferedInputStream(urlStream);
fOutput = new FileOutputStream(new File(fileStr));
byte[] buffer = new byte[512];
while(iStream.read(buffer) != -1)
{
fOutput.write(buffer);
}
} catch (IOException ioe)
{
success = false;
ioe.printStackTrace();
}
finally
{
if(fOutput != null)
try
{
fOutput.close();
} catch (IOException e)
{
e.printStackTrace();
}
if(iStream != null)
try
{
iStream.close();
} catch (IOException e)
{
e.printStackTrace();
}
if(urlStream != null)
try
{
urlStream.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
return success;
}
您可以通过downloadFile(" www.urlhere.com/data.dat"," FileToSaveAs.dat")运行它,如果成功则返回true,如果成功则返回false它失败了。请注意,如果现有文件存在,它将覆盖现有文件,如果连接中断,则会留下损坏的文件。
至于更新文件,您有3个选择: