2012-10-23 96 views
0

我试图运行这个;如何在ASP.net网页的服务器端使用文本文件读写?

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'"; 

然后发送给客户端,它的工作。所以我认为文件阅读有问题。

谢谢你的帮助。

+0

你尝试在一个控制台应用程序读取会因为本地驱动器C的工作文件:\,但是,和或在您的本地唐网的文件路径(S)并不总是与服务器上的内容匹配,以查找Server.MapPath()方法是如何工作的。这是否合理 – MethodMan

+0

我改变了我的文本路径并现在使用了Server.MapPath()。但我无法阅读该文件。这是我的问题。我的意思是我使用StreamReader dosyaOku =新的StreamReader(Server.MapPath(“〜/ sucdefteri.txt”));这现在和它找到的路径,但也许它不能打开或由于某种原因无法从它得到任何信息。也许我的文件阅读代码有问题? – user1767833

回答

2

使用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.  
+0

我应该从这个代码块中期望什么?我的意思是它做了什么?我不明白这一点。 – user1767833

+0

如果你使用Server.MapPath(),那么它在server.if中创建文件,如果你没有使用,那么它会在本地机器上创建文件。 –

+0

我明白,但它仍然无法正常工作。你可以检查我的阅读代码,也许他们有什么错? – user1767833

0

这个问题似乎并不清楚,但我相信你想读/写在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; 
    } 
+0

欢迎来到SO。您应该避免简单地链接到资源,而不必在此处详细说明内容。如果链接消失,答案不再有用。 – Scott

+0

知道了。谢谢。那么如链接所示http://www.freedotnetapps.com/asp-net/how-to-export-data-from-asp-net-gridview-control-to-excel-spreadsheet/您可以使用TextReader和TextWriter从System.IO名称空间读取数据,并将数据写入文本文件。 – user2034765

+0

对不起,您已经错过了我的评论。您应该编辑您的答案以包含链接资源中提供的源代码。这会让你的回答更有价值,因为人们不必遵循链接就可以了解它并远离SO。这也意味着如果链接断开(发生了很多),那么源代码示例仍然会包含在这里,因此您的答案可能仍然有用。 – Scott

相关问题