日期:2014-05-16  浏览次数:20904 次

用StreamReader读取当前工程当中的文件,失败了返回空串。为什么?
我新建了一个C#的控制台文件,向工程里面添加了一个xml文件叫做XMLFile1.xml。自己写了些内容到xml文件里面,
然后我在main函数里面添加了几行。用FileStream打开这个文件开起来是成功的,没有遇到异常。
但是我试图用StreamReader来读取的时候,却读到了一个空的字符串。

        static void Main(string[] args)
        {
            FileStream fs = File.Open(@"XMLFile1.xml", FileMode.OpenOrCreate);
            StreamReader sr = new StreamReader(fs);
            string xmlLine = sr.ReadLine();
            string xmlString = sr.ReadToEnd();
            Console.WriteLine(xmlString);
            //serializer.Serialize(fs, lp);
            fs.Close();
        }

debug我发现,xmlLine是null,而xmlString是""
这是为什么呢? 我的xml文件里面有内容啊
还请指教!
------解决方案--------------------
没有找到文件 你要在项目中 选择你建立的xml文件 右键属性 在复制一栏 选择始终复制或有更新时复制 随你大小便了
------解决方案--------------------
因为你使用的是FileMode.OpenOrCreate 当你编辑的文件没有复制到输出目录 它会为你创建一个空文件 所以你什么都读不到
------解决方案--------------------
你的XML应该是个空文件,
------解决方案--------------------
引用:
没有找到文件 你要在项目中 选择你建立的xml文件 右键属性 在复制一栏 选择始终复制或有更新时复制 随你大小便了


已经说过了