【问题标题】:Open and read txt file in ASP在 ASP 中打开和读取 txt 文件
【发布时间】:2017-06-26 00:32:32
【问题描述】:

我想打开一个 txt 文件并从中读取代码:

StreamReader reader = File.OpenText("TrackData/vehicle_points.txt");

TrckData 是我的 Web 应用程序中的一个文件夹。 但我得到这个错误:

找不到路径“C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\TrackData\vehicle_points.txt”的一部分。

我的项目甚至不在 C 驱动程序中,我不知道它从哪里得到那个 url。

【问题讨论】:

    标签: c# asp.net visual-studio-2010


    【解决方案1】:

    ASP.Net 应用程序存储在不同的文件夹中,这里你给出了一个相对的,它可能会根据 asp.net 的可执行路径而有所不同。

    请使用

     string path = Server.MapPath("TrackData/vehicle_points.txt");
     StreamReader reader = File.OpenText(path);
    

    这肯定行得通..

    【讨论】:

      【解决方案2】:

      File.OpenText 将从当前目录的路径开始 - 这是可执行文件所在的目录。

      您需要为其提供正确的完整文件路径。

      【讨论】:

      • 如果我想在另一台计算机上运行我的项目怎么办?
      • @rNuǝɹɐ - 您仍然需要提供完整路径。你如何做到这一点取决于你(从配置、数据库等中获取根路径)。
      【解决方案3】:

      可以使用

      StreamReader reader = File.OpenText(AppDomain.CurrentDomain.BaseDirectory.ToString() + "TrackData/" +fileName);
      

      【讨论】:

      • 这适用于通用类文件。
      【解决方案4】:

      最好的答案是:

      string path = Server.MapPath("filename.txt");
      StreamReader rd = new StreamReader(path);
      

      【讨论】:

      • 也许您可以添加一些文字来解释为什么这个答案比已经被接受的答案更好。使用FileStreamReader 是不同的东西,所以它们不能真正进行比较。
      【解决方案5】:
      StreamReader sr = new StreamReader(Server.MapPath("~/TrackData/") + Textbox.Text);
      
      string read = sr.ReadLine();
      
      if(read != null)
      {
          Response.Write(read);
      }
      else
      {
          Response.Write("nothing to display");
      }
      

      【讨论】:

      • 嗨,欢迎来到stackoverflow!我认为如果您解释错误是什么而不是在没有任何上下文的情况下删除一些代码,您的答案可能会更有用。请参考How to answer
      猜你喜欢
      • 1970-01-01
      • 2011-04-17
      • 2017-05-13
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多