本帖最后由 NernBrot 于 2022-7-17 15:10 编辑
File dataFile = new File(this.getDataFolder(), "data.yml");
FileConfiguration dataconfig = YamlConfiguration.loadConfiguration(dataFile);这里都没问题
dataconfig.save(dataFile);
在[save]有红色的波浪号请问各位大佬这种保存自定义配置文件用什么语句实现
File dataFile = new File(this.getDataFolder(), "data.yml");
FileConfiguration dataconfig = YamlConfiguration.loadConfiguration(dataFile);这里都没问题
dataconfig.save(dataFile);
在[save]有红色的波浪号请问各位大佬这种保存自定义配置文件用什么语句实现
用try-catch语句包住
lliiooll 发表于 2022-7-17 16:16
用try-catch语句包住
- @EventHandler
- public void upBed(PlayerBedEnterEvent e){
- if (e.isCancelled()) return;
- String key = "Data." + e.getPlayer().getName() + ".Bed.UP";
- int UPBed = getConfig().contains(key)?getConfig().getInt(key):0;
- File dataFile = new File(this.getDataFolder(), "data.yml");
- FileConfiguration dataconfig = YamlConfiguration.loadConfiguration(dataFile);
- dataconfig.set(key,++UPBed);
- try {
- dataconfig.save(dataFile);
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- e.getPlayer().sendMessage("一共上床 " + UPBed+ " 次");
- }
这样写不管触发几次条件 配置文件都是 1
lliiooll 发表于 2022-7-17 16:16
用try-catch语句包住
可以存数据但是只能存一次
IO流是不是要刷新,换行,关闭流
.flash
.newline
.close
.flash
.newline
.close
Hu-Tao 发表于 2022-7-18 01:11
IO流是不是要刷新,换行,关闭流
.flash
.newline
大佬可以详细的讲一下怎么用吗
NernBrot 发表于 2022-7-18 18:43
大佬可以详细的讲一下怎么用吗
对象调用方法啊,这些都是Java最基础的知识吧

而且推荐在IO流中这样用try语句
Hu-Tao 发表于 2022-7-18 23:11
而且推荐在IO流中这样用try语句
我试过了,我以为是我io流写错了
后面检查才发现,是
int UPBed = getConfig().contains(key)?getConfig().getInt(key):0;
检查的是config.yml文件的已经解决了非常感谢
借卷了感谢分享