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

时间:2022-06-01 19:26:08

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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文件(记事本):

?
1
2
3
4
5
6
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文件(记事本):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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")

以上就是关于txt文件的相关操作,如果我的文章对你有帮助,就点个赞吧。