StreamingAssets文件夹的读取异常
1、今天在读取StreamingAssets文件夹中的文本文件的时候,出现了异常,花了一点时间去解决,把解决步骤结果进行梳理
2、文本文件夹所在位置:在StreamingAssets文件夹中新建一个文件名为AI_01的文本文件
3、文本文件中的内容,测试使用:
[Idle]
NoHealth>Dead
SawPlayer>Pursuit
[Dead]
[Pursuit]
NoHealth>Dead
ReachPlayer>Attacking
LosePlayer>Default
4、读取文本文件的代码:
public static String Load(string aiConfigFile)
{
//1、构造 配置文件的完整路径
aiConfigFile = Path.Combine(Application.streamingAssetsPath, aiConfigFile); WWW www = new WWW(aiConfigFile);
//2、
while (true)
{
if (!string.IsNullOrEmpty(www.error))
{
throw new Exception("AI配置文件读取异常");
}
if (www.isDone)
{
return www.text;
} }
}
5、在其他的类中进行方法的调用来读取文件,获得其中的字符串文本
[HideInInspector]
//文件在StreamingAssets中的位置
public string aiConfigFile = "AI_01.txt"; //测试方法,来读取文件
private void Test()
{
string temp= AIConfigurationReader.Load(aiConfigFile);
}
6、本来按常理来说是可以读取成功的,但是这个是会运行会显示AI_01配置文件读取异常
7、开始解决:
7.1:以为是由于StreamingAssets文件的读取会因为平台的特殊性,后面进行了修改,依旧无法解决,参考解决方案:Unity官方手册
7.2:后面觉得可能是文本文件的格式问题,进行了尝试,UTF-8和ANSI两种格式都试了,依旧无法解决
7.3.1:检查了文件名是否正确,确认无错,则进行输出,这里就察觉到异常了:输出的路径只有StreamingAssets,没有后面的AI_01.txt,检查代码确定是进行了路径的连接了。
7.3.2:发现路径无法正确的读取,猜测是动态的字段无法配合使用,所以把文件地址改为了static的进行测试
[HideInInspector]
public static string aiConfigFile = "AI_01.txt";
7.3.3:这个时候运行正常,文件也正常读取出来了
8、在运行正常的基础上我又将其static删除,然后运行,这次又没有错误了,纠结中。。。。。。
9、总结:所以这里只给出建议,如果出现了和我一样的异常可以按照我给出的步骤来解决。
StreamingAssets文件夹的读取异常的更多相关文章
- Unity 从StreamingAssets文件夹和PersistentData文件夹 保存读取AssetBundle资源
项目中的资源一般我们打包成AssetBundle格式 方便我们加载和热更 而AssetBundle文件 一般保存在StreamingAssets文件夹或则PersistentData文件夹 首先我们看 ...
- Resources与StreamingAssets文件夹的区别
1.Resources文件夹 Resources文件夹是一个只读的文件夹,通过Resources.Load()来读取对象.因为这个文件夹下的所有资源都可以运行时来加载,所以Resources文件夹下 ...
- C# 代码实现设置用户"NETWORK SERVICE"具有对文件夹的读取权限。
设置用户"NETWORK SERVICE"具有对文件夹的读取权限. 原帖地址: http://www.cnblogs.com/sjhrun2001/archive/2009/03/ ...
- R8—批量生成文件夹,批量读取文件夹名称+R文件管理系统操作函数
一. 批量生成文件夹,批量读取文件夹名称 今日,工作中遇到这样一个问题:boss给我们提供了200多家公司的ID代码(如6007.7920等),需要根据这些ID号去搜索下载新闻,从而将下载到的新闻存到 ...
- linux根据该文件夹的读取权限和权限运行差异
假设你linux下使用ls.细心的你会发现居然夹有权限运行.例如: drwxrwxr-x 11 cl cl 4096 9 25 14:22 ./ drwxr-xr-x 49 cl cl 4096 1 ...
- node遍历文件夹并读取文件内容
var fs = require('fs'); var path = require('path');//解析需要遍历的文件夹 var filePath = path.resolve('./dist' ...
- uwp选取文件夹并读取其中的图片
uwp对文件的操作和wpf,winform等等有很大的不同,主要原因是uwp对权限的要求比较严格,不能想从前那样随心所欲的读取文件. 1.首先找到Package.appxmanifest这个文件,在功 ...
- StreamingAssets文件夹在不同平台上的引用
On a desktop computer (Mac OS or Windows) the location of the files can be obtained with the followi ...
- python 语料处理(从文件夹中读取文件夹中文件,分词,去停用词,去单个字)
# -*- coding:utf8 -*- import os import jieba def splitSentence(inputFile): fin = open(inputFile, 'r' ...
随机推荐
- socket 极值数量
在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数. Windows 下单机的TCP连接数有多个参数共同决定,下面一 ...
- POJ3495 Bitwise XOR of Arithmetic Progression
Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 772 Accepted: 175 Description Write ...
- centos7.2进入单用户模式修改密码
1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4 - 现在按下 Co ...
- Vue-$emit的用法
1.父组件可以使用 props 把数据传给子组件.2.子组件可以使用 $emit 触发父组件的自定义事件. vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( ev ...
- Xmind 8 update5 破解
Step 1. Download XMind Step 2. Run XMind at least once after installation, xmind will init the confi ...
- Linux时间子系统之一:clock source(时钟源)【转】
转自:http://blog.csdn.net/droidphone/article/details/7975694 clock source用于为linux内核提供一个时间基线,如果你用linux的 ...
- 经典卷积网络模型 — VGGNet模型笔记
一.简介 VGGNet是计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研究的深度卷积神经网络.VGGNet探索了卷积神经网络深度与性能之间的 ...
- 微信支付之SHA256签名失败
在接微信支付的时候,或多或少会遇到签名失败,本人接入的时候也遇了不少次: 总结如下: 1.参数没有经过ASCII排序 2.参数包含中文未经过UTF-8标准转化加密后的签名不对应(经本人测验:加密算法要 ...
- [hadoop][会装]hadoop ha模式安装
1.简介 2.X版本后namenode支持了HA特性,使得整个文件系统的可用性更加增强. 2.安装前提 zookeeper集群,zookeeper的安装参考[hadoop][会装]zookeeper安 ...
- mongo数据库基本操作--python篇
连接数据库 MongoClient VS Connection class MongoClient(pymongo.common.BaseObject) | Connection to MongoDB ...