前几天做了一个可以通过读取配置文本自动生成C#类的工程,因此想写下来分享给大家顺便给自己加深一点印象。
首先是获取到配置文件的文本路径,这里就不多做介绍了,不了解的可以查阅Unity3d实现打开窗口选择文件获取路径
获取到路径后 开始准备读写文件,读写文件的方法也有很多 可参考 C#读写文件的两种方式
我这里使用的是StreamReader和StreamWriter的方式进行读写。
1.先读取已经生成好的配置文件并生成新的.cs脚本
//filePath为配置文件的路径
public string ConfigFileToClass(String filePath)
{
string strData = "";
try
{
string line;
// 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader
using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath,Encoding.Default))
{
//设置生成的C#类目录,我这里是直接放到了项目下
string CurDir = Application.dataPath+"/Scripts/Configure/";
//判断路径是否存在
if (!System.IO.Directory.Exists(CurDir))
{
System.IO.Directory.CreateDirectory(CurDir);
}
//生成的是c#类 所以需要加上.cs后缀 这里的Pathname为生成类的名字
String FilePath = CurDir + Pathname + ".cs";
//文件覆盖方式添加内容
System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath, false);
//保存数据到文件(将C#类需要的头文件先写入)
file.Write("using System.Collections;\n");