- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
unity3d游戏开发之读取写入unity3d游戏开发之读取写入.doc
?前几天有个朋友问我为什么在IOS平台中可以正常的读写文件可是在android平台中就无法正常的读写。当时因为在上班所以我没时间来帮他解决,晚上回家后我就拿起安卓手机真机调试很快就定位问题所在,原来是他文件的路径写错了。开发中往往一道很难的问题解开的时候发现原来真的非常的简单,哇咔咔。??刚好在MOMO的书中也有涉及到文件的读取与写入,那么本节我将书中的部分内容搬到博客中为大家讲解一下。废话我就不多说了咱直奔主题,创建Text.cs脚本,直接挂在摄像机中。代码中包括:创建文件、读取文件、删除文件。
? ?? ? Text.cs
using UnityEngine;
using System.Collections;
using System.IO;
using System.Collections.Generic;
using System;
??
public class Text : MonoBehaviour {
? ? //文本中每行的内容
? ? ArrayList infoall;
? ? //皮肤资源,这里用于显示中文
? ? public GUISkin skin;
? ? void Start ()
? ? {
??
? ?? ???//删除文件
? ?? ???DeleteFile(Application.persistentDataPath,FileName.txt);
??
? ?? ???//创建文件,共写入3次数据
? ?? ???CreateFile(Application.persistentDataPath,FileName.txt,宣雨松MOMO);
? ?? ???CreateFile(Application.persistentDataPath,FileName.txt,宣雨松MOMO);
? ?? ???CreateFile(Application.persistentDataPath ,FileName.txt,宣雨松MOMO);
? ?? ???//得到文本中每一行的内容
? ?? ???infoall = LoadFile(Application.persistentDataPath,FileName.txt);
??
? ? }
??
? ?/**
? ?* path:文件创建目录
? ?* name:文件的名称
? ?*??info:写入的内容
? ?*/
? ?void CreateFile(string path,string name,string info)
? ?{
? ?? ?? ?//文件流信息
? ?? ?StreamWriter sw;
? ?? ?FileInfo t = new FileInfo(path+//+ name);
? ?? ?if(!t.Exists)
? ?? ?{
? ?? ?? ? //如果此文件不存在则创建
? ?? ?? ? sw = t.CreateText();
? ?? ?}
? ?? ?else
? ?? ?{
? ?? ?? ? //如果此文件存在则打开
? ?? ?? ?sw = t.AppendText();
? ?? ?}
? ?? ?//以行的形式写入信息
? ?? ?sw.WriteLine(info);
? ?? ?//关闭流
? ?? ?sw.Close();
? ?? ?//销毁流
? ?? ?sw.Dispose();
? ?}?
??
??/**
? ?* path:读取文件的路径
? ?* name:读取文件的名称
? ?*/
? ?ArrayList LoadFile(string path,string name)
? ?{
? ?? ?? ???//使用流的形式读取
? ?? ???StreamReader sr =null;
? ?? ???try{
? ?? ?? ?? ?sr = File.OpenText(path+//+ name);
? ?? ???}catch(Exception e)
? ?? ???{
? ?? ?? ?? ?//路径与名称未找到文件则直接返回空
? ?? ?? ?? ?return null;
? ?? ???}
? ?? ???string line;
? ?? ???ArrayList arrlist = new ArrayList();
? ?? ?? ?while ((line = sr.ReadLine()) != null)
? ?? ???{
? ?? ?? ?? ?//一行一行的读取
? ?? ?? ?? ?//将每一行的内容存入数组链表容器中
? ?? ?? ?? ???arrlist.Add(line);
? ?? ?? ?}
? ??
文档评论(0)