bukkit mysql_Bukkit插件开发-基础的数据读写操作

本文介绍了在Bukkit插件开发中如何进行数据读写操作,包括yaml和json两种方式。首先讲解了yaml配置文件的创建与读取,然后详细阐述了json的写入与读取,特别强调了使用gson库的重要性,并提供了相应的代码示例。
摘要由CSDN通过智能技术生成

在开发Bukkit插件时,不可避免的需要存储和读取一些数据,以下介绍一些基本的数据交换方法。

一、使用yaml

学习Bukkit插件开发时一定会学到config.yml和plugin.yml的使用

yml文件是Bukkit的配置文件格式(也是一种较为通用的配置文件格式)

yaml语法对于新手腐竹来说较为简单直观

yml文件的读写在网上有很多,以下提供一个简单的实例File file = new File(plugin.getDataFolder(), "example.yml");

//plugin指这个插件的主类实例

if (!file.getParentFile().exists()) {

// 如果父目录不存在,创建父目录(即/plugins/插件名字)

file.getParentFile().mkdirs();

}

if (!file.exists()) {

//文件不存在则创建一个新的文件

try {

file.createNewFile();

//创建文件

Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");

//创建输出流

writer.write("example: 233");

//此处example的双引号可选

//写入中文请使用双引号以免读取“半个字”出错

writer.flush();

writer.close();

//向文件内写入一行“example: 233”

}

catch(Exception e){

e.printStackTrace();

}

FileConfiguration example = YamlConfiguration.loadConfiguration(file);

//读取文件

assert (int) example.get("example") == 233;

二、使用json

一般json用于数据交换,比较轻量(xml一般用于web开发)

但json最好不要用来作为配置文件,因为手动去修改时可能会出错

使用json作为配置文件的包括ColorMOTD等插件,可自行反编译查看其实现方法

*请注意!Bukkit使用的是谷歌的gson!在classloader中不会加载一些另外的fastjson等库!

请一定使用gson去解析json!否则编译时不会出错但是一旦运行就会出现NoClassDefFoundError!

如何添加gson依赖可以在网上找到

创建、写入json文件File file = new File(plugin.getDataFolder(), "example.json");

if (!file.getParentFile().exists()) {

// 如果父目录不存在,创建父目录

file.getParentFile().mkdirs();

}

if (!file.exists()) {

try {

file.createNewFile();

Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");

Map map = new HashMap();

map.put("Example", 233);

//创建一个Map,加入一个键值对,键为Example,值为233

Gson gson = new GsonBuilder().create();

String jsonString = gson.toJson(map);

//转换成json字符串

//插件开发中常用的列表、Map等都可以转换成json字符串

write.write(jsonString);

write.flush();

write.close();

//写入这个json字符串

} catch (Exception e) {

e.printStackTrace();

}

}

直接将某个对象(此处是Map)写入json文件Map m ;//以Map来示范

m.put("example","another example");

JSONObject jsonObject = new JSONObject(m);

//转为json对象

String jsonString = jsonObject.toJSONString();

//转为json字符串

File jsonFile = new File(plugin.getDataFolder(), "example.json");

//注意判断文件是否存在,见上方

//plugin是主类实例

try {

Writer write = new OutputStreamWriter(new FileOutputStream(jsonFile), "UTF-8");

write.write(jsonString);

write.flush();

write.close();

} catch (Exception e) {

e.printStackTrace();

}

读取json文件File jsonFile = new File(plugin.getDataFolder(), "example.json");

//plugin是主类实例

JsonObject json = new JsonObject();

try {

json = new JsonParser().parse(new JsonReader(new FileReader(jsonFile))).getAsJsonObject();

//使用gson的方法去简便地读取文件内容

//鸣谢m8_mve

} catch (Exception e) {

e.printStackTrace();

}

Gson gson = new GsonBuilder().create();

Map jsonMap = gson.fromJson(json, Map.class);

//将json字符串转为Map

注:json = new JsonParser().parse(new JsonReader(new FileReader(jsonFile))).getAsJsonObject();

如果需要更强大的数据管理,那么建议使用数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vscode是一种功能强大的集成开发环境,可用于开发各种编程语言的应用程序和插件。对于开发bukkit插件,vscode提供了许多有用的功能和插件,使开发过程更加高效和方便。 首先,vscode具有丰富的代码编辑功能,包括语法高亮、自动补全、代码片段和代码导航。这些功能有助于开发者更容易地编写和调试bukkit插件的代码,并提高代码的可读性和质量。 其次,vscode支持许多流行的插件,可以轻松扩展开发环境的功能。例如,通过安装Java插件,可以为bukkit插件项目提供实时错误检查、智能建议和自动重构等功能。同时,还可以通过安装Git插件,轻松管理版本控制和团队合作。 此外,vscode还内置了强大的调试工具,可帮助开发者在开发过程中快速定位和解决问题。借助这些调试工具,开发者可以轻松设置断点、监视变量和查看调用栈,从而更好地理解和调试bukkit插件的运行时行为。 最后,vscode还具有丰富的扩展生态系统,可以满足开发者的个性化需求。开发者可以通过安装各种插件和主题,定制自己的开发环境,使其更符合自己的喜好和习惯。 综上所述,vscode是一款适用于开发bukkit插件的理想工具。其强大的编辑功能、丰富的插件支持、强大的调试工具和个性化定制能力,都使得开发者能够更高效、更舒适地进行bukkit插件开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值