Little_K小K
怎么直接用set实现这样的Name: '123'
就是有这个单引号的
set("Name","123")的话他出现的是
Name: 123
这个之后如果需要getString("Name")的话有的时候就会出错

反正就是说怎么实现直接set的时候可以set成 Name: ""或者Name: '' 可以确定是一个String类型的而不是Object的

天朝荡寇
问题应该是在读取的时候吧。我觉得要么你catch那个异常,要么你在纯数字前加点字母,读的时候去掉加的东西。

Little_K小K
天朝荡寇 发表于 2017-5-26 01:07
问题应该是在读取的时候吧。我觉得要么你catch那个异常,要么你在纯数字前加点字母,读的时候去掉加的东西 ...

可是应该可以做到在写入的时候直接写成
Name :  " " 这样的吧
关键就在于这个双引号..
要不然如果我想写入个空的让腐竹自己添加的怎么办

a8105
Little_K小K 发表于 2017-5-27 19:34
可是应该可以做到在写入的时候直接写成
Name :  " " 这样的吧
关键就在于这个双引号..

JavaPlugin的saveResource(name,repalce);
跟plugin.yml放同一个目录,就能saveResource到
比如生成默认的test.yml,saveResouece("test.yml",false);

天朝荡寇
Little_K小K 发表于 2017-5-27 19:34
可是应该可以做到在写入的时候直接写成
Name :  " " 这样的吧
关键就在于这个双引号..

试试转义字符  \ 像这样\"123\"

Little_K小K
天朝荡寇 发表于 2017-5-27 21:19
试试转义字符  \ 像这样\"123\"

试过转义字符了,这样之后会变成  Name: ""name""这样

Little_K小K
810587921 发表于 2017-5-27 21:00
JavaPlugin的saveResource(name,repalce);
跟plugin.yml放同一个目录,就能saveResource到
比如生成默认的 ...

我的意思不是指创建空的配置文件
意思是说..
想往一个文件中写入一条数据
Name: "233333"
这样怎么写
这里的233333是一个String类型的变量..
我发现到由于set指令是(string,object),
所以当输入 set(name,A)的时候
出现在文件里面的会是
name : 23333     (A = "2333333")
就是没有双引号的..

a8105
Little_K小K 发表于 2017-5-29 12:01
我的意思不是指创建空的配置文件
意思是说..
想往一个文件中写入一条数据

谁告诉你是空的了
比如你的test.yml的默认内容是
Item: '123'
然后把他放在plugin.yml一个目录,saveResource("test.yml",false);
他就会生成test.yml,同时附带有默认的内容
而且都set了,为何非得强制双引号呢
他能set就能正常get

Little_K小K
810587921 发表于 2017-5-29 18:38
谁告诉你是空的了
比如你的test.yml的默认内容是
Item: '123'

就是有的时候得添加新的..比如创建商店之类的
set的时候如果没有双引号的话
在getString的时候会发生错误的

andylizi
理论上来说 bukkit 使用的 snakeyaml 库应该不会产生如此严重的问题的
也许你可以试试在 get 的时候使用以下代码
  1. config.get("Name").toString()
复制代码
这样不管 snakeyaml 认为 Name 的类型是字符串还是数字都可以正常读取

Little_K小K
andylizi 发表于 2017-5-31 18:36
理论上来说 bukkit 使用的 snakeyaml 库应该不会产生如此严重的问题的
也许你可以试试在 get 的时候使用以 ...

好的qnq!

第一页 上一页 下一页 最后一页