Unity3D文件读取

Resources:

是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中。它的特点简单总结一下就是:

  1. 只读,即不能动态修改。所以想要动态更新的资源不要放在这里。
  2. 会将文件夹内的资源打包集成到.asset文件里面。因此建议可以放一些Prefab,因为Prefab在打包时会自动过滤掉不需要的资源,有利于减小资源包的大小。
  3. 主线程加载。
  4. 资源读取使用Resources.Load()。

StreamingAssets:

要说到StreamingAssets,其实和Resources还是蛮像的。同样作为一个只读的Unity3D的保留文件夹出现。不过两者也有很 大的区别,那就是Resources文件夹中的内容在打包时会被压缩和加密。而StreamingAsset文件夹中的内容则会原封不动的打入包中,因此 StreamingAssets主要用来存放一些二进制文件。下面也同样做一个简单的总结:

  1. 同样,只读不可写。
  2. 主要用来存放二进制文件。
  3. 只能用过WWW类来读取。

AssetBundle:

关于AssetBundle的介绍已经有很多了。简而言之就是把prefab或者二进制文件封装成AssetBundle文件(也是一种二进制)。但是也有硬伤,就是在移动端无法更新脚本。下面简单的总结下:

  1. 是Unity3D定义的一种二进制类型。
  2. 最好将prefab封装成AseetBundle,不过上面不是才说了在移动端无法更新脚本吗?那从Assetbundle中拿到的Prefab上挂的脚本是不是就无法运行了?也不一定,只要这个prefab上挂的是本地脚本,就可以。
  3. 使用WWW类来下载。

PersistentDataPath:

看上去它只是个路径呀,可为什么要把它从路径里面单独拿出来介绍呢?因为它的确蛮特殊的,这个路径下是可读写。而且在IOS上就是应用程序的沙盒, 但是在Android可以是程序的沙盒,也可以是sdcard。并且在Android打包的时候,ProjectSetting页面有一个选项Write Access,可以设置它的路径是沙盒还是sdcard。下面同样简单的总结一下:

  1. 内容可读写,不过只能运行时才能写入或者读取。提前将数据存入这个路径是不可行的。
  2. 无内容限制。你可以从StreamingAsset中读取二进制文件或者从AssetBundle读取文件来写入PersistentDataPath中。
  3. 写下的文件,可以在电脑上查看。同样也可以清掉。
时间: 2024-07-28 19:36:34

Unity3D文件读取的相关文章

Unity3D文件读写

这里主要是简单的文件读写,不推荐使用,最好用的还是PlayerPrefs. using UnityEngine; using System.Collections; using System.IO; public class MyFile : MonoBehaviour { public static bool IsActivated; public static int UserMoney; private static string filePath; void Start () { //不

java文件读取

java文件读取 刚开始用java,作为之前C语言的重度使用者,发现以前熟悉的文件读取file.read()在java.io.File类里找不到了.替代之的是java.io.InputStream, InputStream为一个I/O操作的抽象类,其中FileInputStream:read实现了读取文件的方法 File f = new File(fileName); InputStream in = new FileInputStream(f); byte data[] = new byte[

html外部文件读取/写入

1.文件的读取 外部文件读取控件: <input type="file" id="file_jquery" onchange="file_jquery(this.id)"/> 调用函数: function file_jquery(id){ var a = $("#"+id); var selectedFile = $("#"+id)[0].files[0]; console.log(a); co

字符串,字典,数组写入本地文件和从本地文件读取

参考:http://blog.csdn.net/hakusan/article/details/39429393?utm_source=tuicool&utm_medium=referral 一.字符串,字典,数组存储到本地文件 字符串,数组,字典存储到本地文件过程一样,只是要存储的数据类型不同而已,这里以字符串存储到本地文件为例,如下:    NSString *content = @"将字符串存储到本地文件";    (1)获取Documents文件夹路径 参数:(1)指定

【学习ios之路:UI系列】iOS沙盒机制,文件读取,归档与反归档

1.IOS中的沙盒机制 IOS中的沙盒机制是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 特点: 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.如下图

Java文件读取大全

在此本人只搜集了四种文件读取的方法,分别是:按字节读取文件内容.按字符读取文件内容.按行读取文件内容.随机读取文件内容 以及给文件追加内容: 废话不多说,直接贴代码,希望能帮到一些人!如果有看不懂的可以加我QQ592652578,详聊. public class ReadFromFile {    1.按字节读取文件内容 /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fi

文件读取与输入

/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:马广明 *完成日期:2014 年 6 月 3 日 *版本号:v1.0 *输入描述: 无 *问题描述:读入不超过500人的工资数据,进行排序,并输出到文件 *程序输出:排序后的工资 *问题分析: *算法设计: */ #include <iostream> #include <fstream> #include <cst

审计 6 SSRF和任意文件读取

1 <?php 2 error_reporting(0); 3 session_start(); 4 header("Content-type:image/jpeg"); 5 echo file_get_contents($_SESSION['avatar']); 6 ?> 在第5行发现    读取的文件后,将文件进行了输出.  所以猜测此处可能存在SSRF 和  任意文件读取 搜索关键变量$_SESSION['avatar']  发现在登陆 和修改密码 读取了改变量,而上

关于文件读取的一些小知识

总所周知,input有一属性type='file',然而我们怎么读取,用户上传的信息呢? 下面是我总结的一些步骤: 1.获取file對象 var file=document.querySelector('input');2.設置change事件 file.onchange=function(){ 3.获取file的资源 var list=this.files; 4.创建读取器 var reader=new FileReader(); 5.开始读取文件    readAsDataURL() 方法