Unity 使用Advanced InI Parser .Open()时读取到不存在文件路径相关问题
在使用Advanced INI Parser插件用来读写配置文件时,如果在使用插件对象的Open()方法读取不存在的文件路径时,会自动创建相应的文件,但是这里需要注意的是,插件的Open()执行的操作是:判断文件是否存在=》若存在正常打开;若不存在则创建然后关闭文件流。请注意,这里是创建后关闭,所以,如果打开的路径不存在,那么Open()之后并不能读写,需要再Open()一次。
进行尝试过:写两次Open()就可以,不过这样看起来似乎不是很对劲,所以最好是先使用File.Exists()来判断一下文件是否存在,如果没有就使用File.Create().Close()创建一下相应文件,(至于为什么File.Create()之后还需要Close()呢,因为文件创建完不关闭,其文件流是始终被占用的,除非使用文件流直接操作,否则使用插件再尝试打开文件是会出现问题的)然后在确保文件存在的情况下再使用Advanced INI Parser插件的Open()方法打开然后进行读写操作。
最后,还需要注意一下,如果文件路径中包含不存在的文件夹的话,File.Create()是没有办法创建文件夹的,它只能创建文件,需要使用Directory.Exists()判断目录是否存在(如果没有,它会创建),另外最好把文件路径和文件分成两段string变量来处理,以 防止误操作把文件也创建成目录,这样读写文件操作自然也不会成功。
以下是Open()方法封装的File相关操作,可以看到判断文件不存在后执行创建相应文件然后就关闭了。
【敬畏能量 敬畏自然】