Unity:支持Android端文件读取和写入

1、支持Android端文件读取

/// 
/// 文件读取数据
/// 
/// 
/// 
public static string FileRead(string path)
{
    string data = string.Empty;
    FileInfo t = new FileInfo(path);
    if (!t.Exists)
    {
        return string.Empty;
    }
    try
    {
        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(fs, Encoding.UTF8);
        data = sr.ReadToEnd();
        sr.Close();
        fs.Close();
    }
    catch (IOException e)
    {
        Debug.LogError("FileRead: " + e.Message);
    }
    return data;
}

2、支持Android端文件写入

/// 
/// 文件写入数据
/// 
 /// 
 /// 
 public static void FileWrite(string path, string data)
 {
     try
     {
         FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
         StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
         sw.WriteLine(data);
         sw.Close();
         fs.Close();
     }
     catch (Exception ex)
     {
         Debug.LogError(ex);
     }
 }

3、Android文件权限问题

Unity PC 环境:

public static string BasePath = 
         Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
             UnityEngine.Application.productName);

要转为 Unity Android 环境:

public static string BaseAndroidPath =
Path.Combine(Application.temporaryCachePath,UnityEngine.Application.productName);

备注:Android环境底下Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData这个路径创建文件夹是没有权限可以创建的,只能在Android环境底下Application.temporaryCachePath 的cache目录才可以创建对应存放资源的路径。

个人博客:http://www.lsk-ww.cn:8080

你可能感兴趣的:(Unity,C#)