locked
StreamReader reader = new StreamReader(path) 的问题? RRS feed

  • 问题

  • 在silverlight 中的 Content 目录下,有个 txt文件 想用StreamReader 读它的内容
    例: Context/a.txt 已把a.txt 属性设置为 Content / Do Not Copy 后
    在page.cs文件中写代码 :
    StreamReader reader = new StreamReader("Context/a.txt ")
    报错:该方法无法使用错误呢?好奇怪啊
    2009年5月6日 3:17

答案

  • 这样就可以了
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.IO;
    using System.Windows.Resources; 
    
    namespace SilverlightApplication6
    {
      public partial class MainPage : UserControl
      {
        public MainPage()
        {
          InitializeComponent();
          StreamResourceInfo r = Application.GetResourceStream(new Uri("Content/a.txt", UriKind.Relative));
          StreamReader sr = new StreamReader(r.Stream);
          t.Text = sr.ReadToEnd();
          sr.Dispose();
          
        }
      }
    }
    
    文件属性为 Content,Do not copy
    即可
    【孟子E章】
    • 已标记为答案 饭粒 2009年5月6日 8:14
    2009年5月6日 8:10

全部回复

  • 要把属性设置为设置成copy always 才能找到这个文件
    2009年5月6日 3:52
  • 设置后也不好用啊:(

    2009年5月6日 5:03
  • 如果是iis网上的文件,你可以使用
    HttpWebRequest
    读取
    【孟子E章】
    2009年5月6日 5:43
  • 难道就不能用StreamReader 读 xap文件里的内容么?
    2009年5月6日 6:03
  • 是很奇怪,经测试,如果包含的是.xml文件可以用XmlReader读取,如果是txt用StreamReader就不能不行了。WebClient也找不到
    2009年5月6日 6:50
  • 是不是,俺都快崩溃了555555555555
    2009年5月6日 7:17
  • 有个临时解决的办法,把txt放在xap之外,然后用webclient下载
    再然后用 Streamreader(Stream)方式就可以读取了,呵呵,不至于崩溃:)

    2009年5月6日 7:51
  • 你用XmlReader是怎么读的,能不能贴下代码,让我学习一下:)
    2009年5月6日 7:55
  • XmlReader 应该就是读取http://xxx/x.xml格式的吧

    【孟子E章】
    2009年5月6日 7:58
  • XmlReader 也不能读取 xap里的文件内容么?
    2009年5月6日 8:01
  • 这样就可以了
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.IO;
    using System.Windows.Resources; 
    
    namespace SilverlightApplication6
    {
      public partial class MainPage : UserControl
      {
        public MainPage()
        {
          InitializeComponent();
          StreamResourceInfo r = Application.GetResourceStream(new Uri("Content/a.txt", UriKind.Relative));
          StreamReader sr = new StreamReader(r.Stream);
          t.Text = sr.ReadToEnd();
          sr.Dispose();
          
        }
      }
    }
    
    文件属性为 Content,Do not copy
    即可
    【孟子E章】
    • 已标记为答案 饭粒 2009年5月6日 8:14
    2009年5月6日 8:10
  • 你就是个天才!!!!啥也别说了555555555
    2009年5月6日 8:14
  •             XmlReader MyReader = XmlReader.Create("NavConfig.xml");
                while (MyReader.Read())
                {
                    if (MyReader.NodeType == XmlNodeType.Element)
                    {
                        switch (MyReader.Name)
                        {
    
                        }
    
                    }
                }
                MyReader.Close();
    XmlReader读取方法
    2009年5月6日 12:14