C# 如何在ASP.net网页的服务器端读取/写入文本文件?

C# 如何在ASP.net网页的服务器端读取/写入文本文件?,c#,javascript,asp.net,file,google-maps,C#,Javascript,Asp.net,File,Google Maps,我试着运行这个 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.IO; public partial class _Default : System.Web.UI.Page { protected vo

我试着运行这个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;

public partial class _Default : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
 {
        DosyadanOku("c:\\sucdefteri.txt");

        Console.ReadLine();
    }

    public void DosyadanOku(string sucdefteri)
    {
        StreamReader dosyaOku = new StreamReader(@"C:\\sucdefteri.txt");

            string metin;
            metin = dosyaOku.ReadLine();

            string kesme = "\t";
            char[] b = kesme.ToCharArray();
            string[] satirlar = metin.Split(b);
            Page.ClientScript.RegisterArrayDeclaration("Skills", satirlar[2]);


        dosyaOku.Close();

}
}
在ASP.net页面的服务器端。这只是从sucdefteri.txt中获取一行,然后剪切其中的一部分,并使用

Page.ClientScript.RegisterArrayDeclaration(“Skills”,satirlar[2])。我是说它应该,但它不能。如果我尝试将此文件作为一个控制台应用程序来读取/剪切代码,它工作得很好,从行中获取部件并将其打印到控制台。但这不起作用。如果我添加这样的代码

satirlar[2] ="'izmit'";
然后将它发送给客户,它正在工作。所以我认为文件读取有问题

感谢您的帮助。

使用
Server.MapPath(“”

像这样

StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true);
    _testData.WriteLine(TextBox1.Text); // Write the file.
    _testData.Flush();
    _testData.Close(); // Close the instance of StreamWriter.
    _testData.Dispose(); // Dispose from memory.       

这个问题似乎不清楚,但我相信您希望在asp.net中读/写一个文本文件。如果是,请尝试以下操作:

    public void WriteTextFile(String FileName)
    {
    TextWriter objTextWriter= new StreamWriter(FileName);
    objTextWriter.WriteLine(DateTime.Now); //Writing current time in textfile
    objTextWriter.Close();
    }
    public String ReadTextFile(String FileName)
    {
    Textreader objTextReader= new StreamReader(FileName);
    String fileContent = objTextWriter.ReadLine();
    objTextReader.Close();
    return fileContent;
    }

由于本地驱动器C:\的原因,您试图在控制台应用程序上读取的文件将正常工作,但在web上或通过web,本地应用程序上的文件路径并不总是与服务器上的文件路径匹配,您需要查找server.MapPath()方法的工作方式。。这会不会让老师改变了我的文本路径,现在就使用Server.MapPath()。但是我看不懂这个文件。那是我的问题。我的意思是我正在使用StreamReader dosyaOku=newstreamreader(Server.MapPath(“~/sucdefteri.txt”);现在,它找到了路径,但可能由于某种原因,它无法打开或无法从中获取任何信息。也许我的文件读取代码有问题?我应该从这个代码块中得到什么?我是说它能做什么?我不明白。如果你使用Server.MapPath(),它会在服务器上创建文件。如果你不使用,它会在本地计算机上创建文件。我明白,但它仍然不工作。你能检查一下我的阅读代码吗?可能是有问题吧?欢迎来到SO。您应该避免只链接到资源而不在此处详细说明内容。如果链接消失,答案就不再有用了。明白了。谢谢正如链接中所示,您可以使用System.IO命名空间中的TextReader和TextWriter类,从textfile读取数据并将数据写入textfile。对不起,您错过了我评论的要点。您应该编辑答案,以包含链接资源中提供的源代码。这将使你的答案更有价值,因为人们不必跟随链接去获得它,也不必离开它。这也意味着,如果链接中断(经常发生),那么源代码示例仍将包含在这里,因此您的答案可能仍然有用。更好的是,谢谢您,再次欢迎使用SO,如果您需要更多关于SO的帮助,请务必签出并