Unity中lua 的 io.open() 文件路径的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中lua 的 io.open() 文件路径的问题相关的知识,希望对你有一定的参考价值。

参考技术A lua 中读写文件一般都是用 io库中的方法,但是有很多资料对文件相对路径的问题都讲的不太清楚,经过我的测试得到以下结论。

在 io 操作中有两种路径的写法:绝对路径和相对路径

绝对路径:说的是在运行环境的完整路径,例如 D:\Test.txt , 调用io.open(“D:\Test.txt”)

相对路径:指的是在项目根目录下的路径,

例如:我的项目是unityObject,那我在 io 库的默认路径就是项目根目录 unityObject\ ,如果不指定路径的话(就是文件在根目录下)调用 io.open(“text.txt”),这种方式就是lua会从项目工程的根目录下查找指定文件名的文件。

但是,在实际开发过程中不同的 开发环境或发布平台 在最终发布的时候有些文件夹是不会打包到安装包的,所以,这时候就要指定到一个合适的文件夹中,例如在unity中Streaming Assets文件夹打包时候资源不压缩不加密。可以把一些简单不重要的文件放在这里,这时候就要指定相对路径了,例如: io.open(“Assets/StreamingAssets/text.txt”)这样lua就会从根目录开始按照指定的路径查找文件。

最后还有一点

windows下路径分割必须用两个斜线,这是因为 \是转移序列。\n表示换行 \表示\本身 。\t表示制表符

io.open也可以使用 /做路径分割符号。

以上是关于Unity中lua 的 io.open() 文件路径的问题的主要内容,如果未能解决你的问题,请参考以下文章

lua文件操作

lua向文件中写入数据,进行记录

文件读取

lua 的io操作,非常详细

Lua 转义字符

Lua io.close()