TCmc
rt
假如 我写了一个名为 abc的插件 他的配置文件会生成在"服务端文件夹\plugins\abc文件夹"内
我想要用这个插件在这个路径"服务端文件夹\abc文件夹"生成一个"abc.yml"文件 如何操作 恳求dalao给个栗子

贺兰兰
这很容易,Path.of("abc","abc.yml").toFile()

TCmc
贺兰兰 发表于 2022-8-15 19:57
这很容易,Path.of("abc","abc.yml").toFile()

那这个该怎么填入呀。。。这个路径我实在是不理解

wai_hao
MCBBS有你更精彩~

teddyxlandlee
TCmc 发表于 2022-8-15 20:07
那这个该怎么填入呀。。。这个路径我实在是不理解

这是相对路径,工作目录就是服务端目录(如果服务端正常启动的话)

TCmc
teddyxlandlee 发表于 2022-8-16 08:22
这是相对路径,工作目录就是服务端目录(如果服务端正常启动的话)

我是这么写的

但是并没有生成呀?

美味的曲奇
TCmc 发表于 2022-8-16 09:15
我是这么写的

但是并没有生成呀?

你理解错了吧 Path.of("abc","abc.yml").toFile() 得到的是 服务器根目录下 abc目录下的abc.yml 文件,执行mkdir() 怎么会有效
想在根目录下新建abc需要 File("abc").mkdir()

teddyxlandlee
TCmc 发表于 2022-8-16 09:15
我是这么写的

但是并没有生成呀?

建议使用path操作
Path p = Paths.get("abc", "abc.yml");
Files.createDirectories(p.getParent());
// then write

洞穴夜莺
TCmc 发表于 2022-8-16 09:15
我是这么写的

但是并没有生成呀?

你要调用的是mkdirs而不是mkdir,前者会依次创建路径上的文件夹,后者只是创建你传入的File文件夹本身

TCmc
teddyxlandlee 发表于 2022-8-16 10:00
建议使用path操作
Path p = Paths.get("abc", "abc.yml");
Files.createDirectories(p.getParent());

我这样试过的 还是没有生成





teddyxlandlee
TCmc 发表于 2022-8-16 10:28
我这样试过的 还是没有生成

你只生成了父文件夹,没有生成文件
创建文件的方法跟创建文件夹很类似,自己去Files里找找就能找到啦