Krpano学习:认识全景生成.bat文件及其相关配置文件(三) 在C#中修改.config文件内容(动态修改全景输出路径、名称等)

14 篇文章 7 订阅

  .config文件通常是软件的配置文件,里面有各种相关属性,我在Krpano学习:认识全景生成.bat文件及其相关配置文件(一)中写了krpano中的.config的具体内容。通常网上搜索在C#中如何修改.config文件都是讲如何修改C#工程里app.config和web.config这两个自带的配置文件,而不是单纯修改一个文件。
  仍旧以vtour-normal.config为例,我将这个文件当成一个普通文本文件来处理,因而使用C#的System.IO来对其进行读写操作。

private static int linecount = 0;
private static List<string> vtourconfig = new List<string>();
public static void PanoConfig()
{
    using (StreamReader sr = new StreamReader("krpano/templates/vtour-normal.config"))
    {
        //判断文件流是否读取完成
        while (sr.Peek() >= 0)
        {
            //将文本内容的每行存入链表中
            vtourconfig.Insert(linecount++, sr.ReadLine());
        }
    }
}
FileStream fs = null;
try
{
    //删除指示输出tilepath位置的内容,再添加重写添加想要输出的位置
    //此处知道其为链表第30个元素,不知道也可以exits/contains找出
    //也可以对其他内容进行修改
    vtourconfig.RemoveAt(30);
    vtourconfig.Insert(30, "tilepath=要设置的位置/panos/%BASENAME%.tiles/pano[_c].jpg");
    //创建一个新文件流,将链表中的内容写入到指定文本中
    //newconfigpath为配置文件存放的绝对路径加上配置文件名称,名称可以不设为vtour-normal.config,只要.bat调用时使用这个名称就行
    fs = new FileStream(newconfigpath, FileMode.Create);
    using (StreamWriter sw = new StreamWriter(fs))
    {
        for (int i = 0; i < linecount; i++)
        {
            sw.WriteLine(vtourconfig[i]);
        }
        //清理缓冲区,关闭并释放资源
        sw.Flush();
        sw.Close();
        fs.Close();
    }
}
catch (Exception ex)
{
    sw.Flush();
    sw.Close();
    fs.Close();
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值