如何在ASP.NET C#, VB中读写文本文件?
描述:在处理 asp.net 项目时,需要将一个文本框的内容写入位于应用程序根目录下的文件夹中的文本文件,然后从该文本文件中读取内容并插入另一个文本框。
实例:让我们创建一个示例页面用于演示目的
HTML Source
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="text-align:center">
<asp:TextBox ID="txtWriteContent" runat="server" TextMode="MultiLine" Rows="5" Columns="50"></asp:TextBox><br /><asp:Button ID="btnWrite" runat="server" Text="Write To File" OnClick="btnWrite_Click" />
</td>
</tr>
<tr>
<td style="text-align:center">
<asp:TextBox ID="txtReadContent" runat="server" TextMode="MultiLine" Rows="5" Columns="50"></asp:TextBox><br /><asp:Button ID="btnRead" runat="server" Text="Read From File" OnClick="btnRead_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
注意:在应用程序的根目录中创建一个文件夹并将其命名为“TestFolder”。将在此文件夹中创建文本文件以写入和读取。
Asp.Net C# 代码写入和读取文本文件
using System;
using System.IO;
protected void btnWrite_Click(object sender, EventArgs e)
{
WriteToFile("testFile.txt");
}
protected void btnRead_Click(object sender, EventArgs e)
{
txtReadContent.Text = ReadFromFile("testFile.txt");
}
private void WriteToFile(String fileName)
{
string filePath = Path.Combine(Request.PhysicalApplicationPath, string.Format("{0}\\{1}", "TestFolder", fileName));
//OR string filePath = Path.Combine(Server.MapPath("~/TestFolder"), fileName);
using (StreamWriter sw = new StreamWriter(filePath))
{
sw.WriteLine(txtWriteContent.Text);
}
}
public string ReadFromFile(String fileName)
{
string fileText = string.Empty;
string filePath = Path.Combine(Request.PhysicalApplicationPath, string.Format("{0}\\{1}", "TestFolder", fileName));
//OR string filePath = Path.Combine(Server.MapPath("~/TestFolder"), fileName);
if (File.Exists(filePath))
{
using (StreamReader sr = new StreamReader(filePath))
{
fileText = sr.ReadToEnd();
}
}
return fileText;
}
注意: 在上面的 WriteToFile 函数 ,如果文本文件不存在,StreamWriter 类将创建文本文件,如果存在,则覆盖该文件。
Asp.Net VB 代码写入和读取文本文件
Imports System.Data
Imports System.IO
Protected Sub btnRead_Click(sender As Object, e As EventArgs)
txtReadContent.Text = ReadFromFile("testFile.txt")
End Sub
Protected Sub btnWrite_Click(sender As Object, e As EventArgs)
WriteToFile("testFile.txt")
End Sub
Public Function ReadFromFile(fileName As [String]) As String
Dim fileText As String = String.Empty
Dim filePath As String = Path.Combine(Request.PhysicalApplicationPath, String.Format("{0}\{1}", "TestFolder", fileName))
'OR string filePath = Path.Combine(Server.MapPath("~/TestFolder"), fileName);
If File.Exists(filePath) Then
Using sr As New StreamReader(filePath)
fileText = sr.ReadToEnd()
End Using
End If
Return fileText
End Function
Private Sub WriteToFile(fileName As [String])
Dim filePath As String = Path.Combine(Request.PhysicalApplicationPath, String.Format("{0}\{1}", "TestFolder", fileName))
'OR string filePath = Path.Combine(Server.MapPath("~/TestFolder"), fileName);
Using sw As New StreamWriter(filePath)
sw.WriteLine(txtWriteContent.Text)
End Using
End Sub
1068

被折叠的 条评论
为什么被折叠?



