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")