Unity AndroidManifest文件权限管理

策划写Excel  ---> 程序解析Excel为Text(letter) --->程序读取Txt

文件路径:

unity AndroidManifest 存取权限 unity安卓读取文件_unity3D

unity AndroidManifest 存取权限 unity安卓读取文件_FileStream_02

Appliction.dataPath 项目资源路径

unity AndroidManifest 存取权限 unity安卓读取文件_FileStream_03

Application.streamingAssetsPath

unity AndroidManifest 存取权限 unity安卓读取文件_软件编程_04

PC:项目资源路径下的streamingAssets文件夹(需要手动创建同名文件夹)“这个目录只能用WWW读取(PC特例也可以用文件读取去读(FileStream)),且不能修改(PC可以修改)”

Android:安装在一个assets文件夹

unity AndroidManifest 存取权限 unity安卓读取文件_软件编程_05

如果想要把一些程序随文件打包到,即在手机端可以查看,则应该它们放到这一个目录之下。

IOS:Doucment/app

Application.persistentDataPath:

unity AndroidManifest 存取权限 unity安卓读取文件_读取Txt_06

可读可写文件目录

在不同的平台上这个路径是不一样的

文档操作流程:

  1. 找到目录
  2. 打开
  3. 读写
  4. 关闭
  5. 登录后复制
void Start()

    {

        //找到文件目录

        string path = Application.streamingAssetsPath + "/configer.ll";

        //打开文件

        StreamReader tmpReader = new StreamReader(path);

        //开始读取 "一行行的读"

        string line = tmpReader.ReadLine();

        Debug.Log("line=" + line);

        //查看有多少行

        int lineCount = int.Parse(line);

        for (int i = 0; i < lineCount; i++)

        {

            string tmpLine= tmpReader.ReadLine();

            Debug.Log("第" + i + "条数据为:" + tmpLine);

        }

    }
    

unity AndroidManifest 存取权限 unity安卓读取文件_读取Txt_07

现在丰富文本内容

unity AndroidManifest 存取权限 unity安卓读取文件_FileStream_08

这样也能读取一行的内容,但是需要切割(读取字符串)

登录后复制

/// <summary>

    /// 对Txt进行读取操作

    /// </summary>

    public void ReadStream()

    {

        //找到文件目录

        string path = Application.streamingAssetsPath + "/configer.ll";

        //打开文件

        StreamReader tmpReader = new StreamReader(path);

        //开始读取 "一行行的读"

        string line = tmpReader.ReadLine();

        //Debug.Log("line=" + line);

        //查看有多少行

        int lineCount = int.Parse(line);

        string tmpLine;

        string[] tmpArray;

        for (int i = 0; i < lineCount; i++)

        {

            tmpLine = tmpReader.ReadLine();

            // Debug.Log("第" + i + "条数据为:" + tmpLine);

            tmpArray = tmpLine.Split(' ');

            //for (int j = 0; j < tmpArray.Length; j++)

            //{

            //    Debug.Log("切割后第" + i + "条数据的第" + j + "个数据元素为" +  tmpArray[j]);

            //}

            PlayerPrefs.SetString(tmpArray[0], tmpArray[1]);

        }

        tmpReader.Close();

    }
    

unity AndroidManifest 存取权限 unity安卓读取文件_unity3D_09

现在开始写入数据(这种写入方式比较简单,弊端在于后面写入的内容会完全覆盖之前的内容)

登录后复制

/// <summary>

    /// 对Txt进行写入操作

    /// </summary>

    public void WriteStream()

    {

        //找到目录

        string path = Application.streamingAssetsPath + "/configer.ll";

        //打开文件

        StreamWriter tmpWrite = new StreamWriter(path);

        //进行写入操作

        tmpWrite.WriteLine("88888888");

        tmpWrite.WriteLine("admin 123");

        //关闭

        tmpWrite.Close();

    }

FileStream 读写的是字节流

/// <summary>

    /// 利用文件的方式对Txt进行读取操作

    /// </summary>

    public void FileWriteStream()

    {

        //找到目录

        string path = Application.streamingAssetsPath + "/configer.ll";

        //打开文件

        FileStream tmpFileStream = new FileStream(path, FileMode.OpenOrCreate);

        //将光标跳到从起点开始偏移两个位置

        tmpFileStream.Seek(2, SeekOrigin.Begin);

        //写入一个字节流

        tmpFileStream.WriteByte(12);

        //再写入一个

        tmpFileStream.WriteByte(34);

        //关闭文件读取

        tmpFileStream.Close();

    }
    

解决这个写入小bug,刚才写入的是字节流,我们需要把它们转化为可以识别的字符串

登录后复制

/// <summary>

    /// 将Txt中的字节流转化为可以识别的内容

    /// </summary>

    public void ReadByte()

    {

        //找到目录

        string path = Application.streamingAssetsPath + "/configer.ll";

        //打开文件

        FileStream tmpFileStream = new FileStream(path, FileMode.OpenOrCreate);

        //将光标跳到从起点开始偏移两个位置

        tmpFileStream.Seek(2, SeekOrigin.Begin);

        int tmpOne = tmpFileStream.ReadByte();

        Debug.Log("第一次读取的内容:" + tmpOne);

        int tmpTwo = tmpFileStream.ReadByte();

        Debug.Log("第二次读取的内容:" + tmpTwo);

        tmpFileStream.Close();

    }
    

总之:一般就是进行读操作,除了第一次将Excel转化为Txt除外,如果要改数据就直接对配置文件进行修改

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空