赞
踩
Unity的常用路径:
1、Resources 目录
2、Application.dataPath : Unity3D的开发资源存储目录,在编辑器状态下有效
打包之后,该目录会消失,打包后不要使用
开发编辑器功能使用,在编辑器调试状态下会利用这个目录的上级目录存储文件
该方法返回的就是Assets的一个路径字符串
3、Application.streamingAssetsPath : 【不可写】
举个例子:下载完游戏,有一个资源解压的过程,那就是在该文件下解压,解压到下面的可写的 文件里。
需要手动建立,必须叫StreamingAssets文件目录
编辑器调试阶段,用于读写测试
打包阶段,用于存储资源或文件,解压到可写目录
编辑器状态下,存储在Assets/StreamingAssets/路径下,可读可写。
打包状态下,存储在包体内StreamingAssets目录下,只读不可写
该方法返回的是 Assets 文件下的特定的StreamingAssets资源目录 的路径字符串
4、Application. persistenDataPath : 【可写】
打包之后 唯一可写的文件目录
操作系统给出应用的可读可写目录,用于存储应用的数据
C://Users/HXSC-BASIC/AppData/LocalLow/DefaultCompany/IO
DefaultCompany: 打包时设置的公司名
IO :自己的项目名称 其方法返回的就是这么一个 路径字符串
目录操作 手册查找 c# 手册 http://msdn.microsoft.com
Unity3D手册 http://docs.unity3d.com/ScriptReference/index.html
引入System.IO命名空间
Directory类 Directory.CreateDirectory(路径) : Path:被创建的路径的字符串表达式
特性:自动帮建立不存在上级目录
Delete : 功能:删除路径, 参数里若是加上true 则会遍历该路径下所有的文件进行删除
参数: Path : 需要删除的路径的字符串表达式
Recursive:是否递归删除子目录及文件
Exists : 功能:检查路径是否存在
参数:Path: 需要检查的路径的字符串表达式
返回值:true: 存在路径 false : 不存在路径
Move : 功能:移动或改名 Directory.Move(路径 + " /a" , 路径 + “/b” ) 将a 目录改名 为b
Directory.Move(路径 + " /a" , 路径 + “/c/b” ) 移动到c目录
参数:原始路径的字符串表达式
目标路径的字符串表达式
GetFiles : 功能:获取下一级文件
参数:需要查找的路径字符串表达式(默认搜索一级)
重载1: 搜索规则(“a*”: 以a开头的目录,“*a”: 以a结尾的目录,“*a*”:包含a 的目录)
重载2 :是否搜索子目录(0: 顶级目录搜索,1: 所有子目录搜索)
返回值: 所有子路径字符串数组
GetDirectories: 功能:获取下一级子目录,参数里若是加上 “a*”,则会获得该路径下所有自路径中以 字 母a 开头 的路径
参数里加上“a*”, SearchOption.AllDirectories
a*代表以a开头 *a代表以a结尾 *a*代表包含a *叫做通配符
参数:需要查找的路径字符串表达式(默认搜索一级)
查找到规则
重载1 搜索规则(“a*”: 以a开头的目录,“*a”: 以a结尾的目录,“*a*”:包含a 的目录) 重载2 是否搜索子目录(0: 顶级目录搜索, 1: 所有子目录搜索)
返回值:所有子路径字符串数组
DirectoryInfo类 : 小知识点,若是想要给文件加两种状态,一般在符号 | 然后直接在后面加状态
获取一个目录的信息类
创建一个目录的信息实例: DirectroyInfo info = new DirectoryInfo(需要获得信息的路径)
Attributes属性(设置或者获得目录的属性)
设置单个属性:info.Attributes = FilcAttributes.Hidden
设置多个属性:info.Attributes = FilcAttributes.Hidden | FileAttributes.ReadOnly
文件操作
byte和bit bit : 010101010101010101 是最小的01存储位
byte: 一个字节byte = 8bit 构成256个ASCII码 一个ASCII码就是一个字节
文件编码: GB2312:最早的字符编码集: 2个字节代表一个中文字符,一个中文字符有16bit ,
中文2个字符 英文1个字符
GBK: 涵盖中文简体和中文繁体的字符编码集(ANSI) 中文2个字符 英文1个字符
UTF-8 : 全球中文编码,可变的byte
英文1个字符,中文一般是3个字符;英文标点1个字符,中文标点3个字符
Unicode:中文2个字符,英文2个字符,中文符号2个字符,英文符号2个字符
换行符: Windows: /r/n Linux, Unix , OSX: /n
时间: 世界统一时间 UTC 时间戳 以1907年1月1日0分0秒到现在的秒数(0时区测算)
服务器会以0时区记录的时间,在通过玩家所在时区转换为当地时间
File类 Exists 功能:判断文件是否存在 参数:文件所在路径 返回值:true(存在),false(不存在)
Delete 功能: 删除文件 参数: 文件所在路径 功能: 移动文件或重命名文件
Move 功能:移动文件或者重命名文件 参数:文件原始路径 / 文件移动过后路径
特性: 如果文件名和老的文件名一直,则只移动, 如果文件名和新的文件名不一致,则修改名称
(和移动)
Write 功能:快捷写入文件,如果文件原来存在覆盖,原来不存在创建,
WriteAllBytes WriteAllLines WriteAllText
参数:文件存储路径; byte[]:内容byte数组(System.Text.Encoding.UTF8.GetBytes(字符串)获得)
string[]:写入一行行的字符串,数组每一个元素,就是一行 ; string:将字符串整体写入文件
Read 功能: 快捷读取文件 ReadAllBytes ReadAllLines ReadAllText
参数:文件存储路径
返回值:byte[] : 内容byte数组(System.Text.Encoding.UTF8.GetString(byte[]) 获得原始字符串)
string[] : 文件一行行的字符串内容
string : 文件整体的字符串内容
Copy 功能:复制一个文件
参数:原始路径 备份文件的路径:如果原始文件存在,是否覆盖
Create:
Using : 所有实现IDispose接口的类,都会继承dispose方法,当你使用完这种类的实例后,应该调用dispose方法释放资 源,否则系统可能会因为未释放资源导致运行错误
好比在图书馆借书 需要还书,dispose就是还书的方法
using(资源创建代码){//隐形调用dispose} 小括号里的东西在应用后,除了大括号,会 自动引用dispose(), 释放资源
using会调用小括号中的资源创建代码,当using内部代码执行完成后 (闭合大括号),using会自动帮调用IDispose实现类的dispose方法
FilesStream: FileStream SA = new FileStream() : 最底层的文件操作类
创建实例: FileStream fs = new FildStream(路径,打开类型,读写方式)
打开类型(FileMode) Create: 创建新的,存在就覆盖
OpenOrCreate:存在就打开,不存在就创建
Truncate: 把原来的清空,再打开
Append: 向原文件中追加
读写方式(FileAccess) 读 Read 读写 ReadWrite 写 Write
API :
byte[] buffer = new byte[] 设置缓冲区
SA.Seek() 游标设置为0,从头开始读
从尾开始读
还有一个枚举状态
SA.Read(buffer, 0.3) 读取 文字
参数: 存储缓冲区 ; 缓冲区起始位(偏移量) ; 缓冲区读取长度
SA.Write() 写入文件 参数:存储缓冲区 缓冲区起始位(偏移量) 缓冲区长度
SA.Flush() 刷新缓存 通过刷新缓存,将文字输入,否则相当于文字在缓存里面,没有在硬盘里, 容易出错
SA.Close()
string a = Encoding.UTF8.Getstring() 这个API 需要引用Using System . Text 命名空间
FileInfo 类
StreamReader API : StreamReader se = new StreamReader()
se.Peek() 获取下一个字符,当读到文件结束时返回-1 ;
se.ReadLine() 读取文件一行内容,不受系统的换行符影响,每次读取行游标会向下一次
se.ReadToEnd() 读取当前行标到文件结尾的所有字符串内容
参数:文件所在路径 文件内容的编码字符集
StreamWriter API: StreamWriter sw = new StreamWriter (路径,false , Encoding, UTF8)
路径:写入文件的路径 false:是否使用追加,bool类型,决定能够是否覆盖还是叠加文字
UTF8 写入文件的字符集编码
sw.Writeline() 向文件内写入一行字符串,自动添加换行符
sw.Write("\r\n") 向文件内写入内容 \r\n是用来换行的
sw.Fulse() 刷新缓存
哈希值的计算: MD5 :
字符串: 同一个字符串,多次MD5后的结果是相同的,所以可以用来储存密码,放置密码文泄 露,再次输入密码时,只需要再进行一次MD5运算,与原MD5串一致,即表示再次输入密码正确
文件 :只要文件的内容不修改,每次进行MD5运算时,MD5运算结果都一样,所以可以使用文 件的MD5进行判断文件是否修改过
作用: 判断文件是否非修改
加载文件,就判断,不对的话,重新下载
SHA1
WWW : 初始化: WWW www = new WWW (需要下载的文件URL地址)
isDone: 表示下载或请求是否成功
text: 下载文本内容
bytes: 下载的文件字节数组
DataTime : c#的事件记录对象
Tostring : 可以根据格式对照表,生成对应的易于略读的事件
注意: 写的所有日志,在打包后,记得要删除,否在会影响游戏性能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。