Search This Blog

Monday, January 5, 2009

Renaming a file using ASP.NET 2.0 and C# .NET

The .NET Framework offers a number of types that makes accessing resources on filesystems easy to use.

To delete a simple file on the disk, we will need to first import the System.IO namespace. TheSystem.IO namespace contains the File.Delete() method and FileInfo type that we will use to perform our delete with.

using System.IO

We'll put our code in the btnSubmit_Click() event. 

When the btnSubmit_Click() event fires it first checks to see if the file exists using the FileInfotype. If it exists it runs the File.Move() method to rename it, otherwise it throws aFileNotFoundException which is caught by one of the catch statements below the try block.

protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
FileInfo TheFile = new FileInfo(MapPath(".") + "\\" + txtOldFile.Text);
if (TheFile.Exists)
{
File.Move(MapPath(".") + "\\" + txtOldFile.Text,MapPath(".") + "\\" + txtNewFile.Text);
}
else
{
throw new FileNotFoundException();
}
}

catch (FileNotFoundException ex)
{
lblStatus.Text += ex.Message;
}
catch (Exception ex)
{
lblStatus.Text += ex.Message;
}
}

We have one textbox, a Submit button, a label, and a checkbox on the front end for user interaction. The front end .aspx page looks something like this:


 

Renaming a File:
Old File File:

New File Name:



The flow for the code behind page is as follows.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
FileInfo TheFile = new FileInfo(MapPath(".") + "\\" + txtOldFile.Text);
if (TheFile.Exists)
{
File.Move(MapPath(".") + "\\" + txtOldFile.Text,MapPath(".") + "\\" + txtNewFile.Text);
}
else
{
throw new FileNotFoundException();
}
}

catch (FileNotFoundException ex)
{
lblStatus.Text += ex.Message;
}
catch (Exception ex)
{
lblStatus.Text += ex.Message;
}
}
}

No comments:

 
ss_blog_claim=610c329374fdaea5e07dfca1c6dffb2d