ASP.NET对txt文件相关操作(读取、写入、保存)

ASP.NET读取txt文件(记事本)内容:

using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.IO; //获取txt文件流 namespace test { public partial class Text : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(GetInterIDList("asp.txt")); } //读取txt文件的内容 public string GetInterIDList(string strfile) { string strout; strout = ""; if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(strfile))) { } else { StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(strfile), System.Text.Encoding.Default); String input = sr.ReadToEnd(); sr.Close(); strout = input; } return strout; } } }

读取txt文件内容就是获取文件流,记得要引用using System.IO;。

ASP.NET写入txt文件(记事本):

string txtPath = Server.MapPath("~\\Public\\AttInfo\\") + "Test.txt"; StreamWriter sw = new StreamWriter(txtPath, false, System.Text.Encoding.Default); sw.WriteLine("Hello World"); sw.WriteLine(""); //输出空行 sw.WriteLine("ASP.NET网络编程 - 脚本之家!"); sw.Close();

注意:如果写入记事本不需换行,可以使用 Write,需要换行的,可以使用 WriteLine。

ASP.NET保存txt文件(记事本):

public void ProcessRequest(HttpContext context) { context.Response.Clear(); context.Response.Buffer = true; //Server.UrlEncode 防止保存的文件名乱码 context.Response.AddHeader("Content-Disposition", "attachment;filename=" + context.Server.UrlEncode("消费明细" + string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now) + ".txt")); context.Response.ContentType = "text/plain"; string message = "Hello World"; //如果导出的文件要换行,用Environment.NewLine message += "Hello World" + Environment.NewLine; context.Response.Write(message); //停止页面的执行 context.Response.End(); }

注意3点:

1.保存文件名乱码问题:用Server.UrlEncode编码

2.txt文件中的换行问题:Environment.NewLine

3.调用可以用js:window.location.href="download.ashx" 或window.open("download.ashx")

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjwxdg.html