Monday, 25 July 2011

Reading and writing to file using ASP.NET and VB.NET


Read and write to file using ASP.NET (VB)

Reading and writing to the file content using ASP.NET 2.0 and C# 2.0 is actually very simple.

First, you will need to import the System.IO namespace.

Imports System.IO;

We moved our web sites to Server Intellect and have found them to be incredibly professional. Their setup is very easy and we were up and running in no time.

The System.IO namespace contains types that allow reading and writing to files and data streams, and types that provide basic file and directory support. Using the class of File ,and DirectoryInfo at here.

Use the DirectoryInfo class for typical operations such as copying, moving, renaming, creating, and deleting directories.

Use the File class for typical operations such as creating, opening, deleting, appending, copying, moving, and renaming to files.

Use the ReadAllText method to opens a text file, reads all lines of the file, and then closes the file.

Use the WriteAllText method Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten.

We use the buttonDisplay_Click event to display the file content and use the buttonSave_Click even to save as a file.

The code as follows.

Protected Sub buttonDisplay_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim FilePath As String
FilePath = txtBoxInput.Text
If File.Exists(FilePath) Then
textBoxContents.Text = File.ReadAllText(FilePath)
Else
Response.Write("<script language='javascript'>window.alert('File not found');</script>")
Return
End If
End Sub

Protected Sub buttonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Folder As New DirectoryInfo(textboxPath.Text)
If Folder.Exists Then
If textboxName.Text <> String.Empty Then
Dim FilePathSave As String = Folder.ToString() + textboxName.Text File.WriteAllText(FilePathSave, textBoxContents.Text)
Else
Response.Write("<script language='javascript'>window.alert('Please enter file name');</script>")
End If
Else
Response.Write("<script language='javascript'>window.alert('Folder not found');</script>")
End If
End Sub

Yes, it is possible to find a good web host. Sometimes it takes a while. After trying several, we went with Server Intellect and have been very happy. They are the most professional, customer service friendly and technically knowledgeable host we've found so far.

The front ReadWriteTextCSharp.aspx page looks something like this:

<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#cccccc">
<tr>
<td bgcolor="#eeeeee" class="header1">
<fieldset>
<legend>ReadWriteTextCsharp</legend>
<div>
<asp:Label ID="Label1" runat="server" Text="Enter path of file to be examined and click Display"></asp:Label><br />
<asp:TextBox ID="txtBoxInput" runat="server" Width="451px"></asp:TextBox>
<asp:Button ID="buttonDisplay" runat="server" Text="Display" OnClick="buttonDisplay_Click" /><br />
<fieldset>
<legend>Content of file</legend>
<asp:Label ID="Label2" runat="server" Text="You can edit the content and save as a file."></asp:Label><br />
<table>
<tr>
<td>
<asp:TextBox ID="textBoxContents" runat="server" tabIndex="0" height="200px" textMode="MultiLine" width="450px"></asp:TextBox>
</td>
</tr>
</table>
<fieldset>
<legend>Save as</legend>Path:
<asp:TextBox ID="textboxPath" runat="server" Width="237px"></asp:TextBox>File name:
<asp:TextBox ID="textboxName" runat="server" Width="93px"></asp:TextBox>
<asp:Button ID="buttonSave" runat="server" Text="Save As" Width="66px" OnClick="buttonSave_Click" /></fieldset>
</fieldset>
</div>
</fieldset>
</td>
</tr>
</table>

We used over 10 web hosting companies before we found Server Intellect. Their dedicated servers and add-ons were setup swiftly, in less than 24 hours. We were able to confirm our order over the phone. They respond to our inquiries within an hour. Server Intellect's customer support and assistance are the best we've ever experienced.

The flow for the code behind page is as follows.

Imports System.IO

Partial Class ReadWriteTextVB
Inherits System.Web.UI.Page
Protected Sub buttonDisplay_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim FilePath As String
FilePath = txtBoxInput.Text
If File.Exists(FilePath) Then
textBoxContents.Text = File.ReadAllText(FilePath)
Else
Response.Write("<script language='javascript'>window.alert('File not found');</script>")
Return
End If
End Sub

Protected Sub buttonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Folder As New DirectoryInfo(textboxPath.Text)
If Folder.Exists Then
If textboxName.Text <> String.Empty Then
Dim FilePathSave As String = Folder.ToString() + textboxName.Text File.WriteAllText(FilePathSave, textBoxContents.Text)
Else
Response.Write("<script language='javascript'>window.alert('Please enter file name');</script>")
End If
Else
Response.Write("<script language='javascript'>window.alert('Folder not found');</script>")
End If
End Sub
End Class

Looking for the C#.NET 2005 Version? Click Here!


Looking for more ASP.NET Tutorials? Click Here!

No comments:

Post a Comment