您的位置:首页 > 编程语言 > ASP

ASP.NET文件操作

2015-10-19 17:01 716 查看
  在开发Web程序时,不但有存储在数据库中和XML文件中的数据形式需要处理,而且还有很多诸如文本、Word文档和图片等格式的文件数据需要处理。尤其是在一些信息管理系统中,文档的处理流程贯穿了整个系统的运行过程。

  文件的操作有很多种,如创建文件、复制文件、删除文件等,这些都是文件最基本的操作,.NET框架提供了一个静态类File来完成这些操作。

  文件的I/O操作是一个比较复杂的过程。在.NET框架下,文件的I/O操作方式都是基于流(Stream)的,由于引进了流的概念,程序员可以通过对一系列的通用对象进行操作,而不必关心该I/O操作是和本机的文件有关还是与网络中的数据有关,这使得对于文件操作的编程变得非常简单,这大大减轻了程序员的工作。

  .NET框架主要提供了一个System.IO命名空间,该命名空间基本包含了所有和I/O操作相关的类,因此在程序员开发文件操作的程序时需要引用该命名空间。

文件基本操作

  在.NET框架里文件的基本操作基本上都是由静态类File来完成,File类提供了一系列的方法来完成这些操作。File类提供的方法如下:

    1.AppendText:创建一个StreamWriter,它将UTF-8编码文本追加到现有文件。

    2.Copy:将现有文件复制到新文件。

    3.Create:在指定路径中创建文件。

    4.CreateText:创建或打开一个文件用于写入UTF-8编码的文本。

    5.Delete:删除指定的文件。如果指定的文件不存在,则不引发异常。

    6.Exists:确定指定的文件是否存在。

    7.Move:将指定的文件移到新位置,并提供指定新文件名的选项。

    8.Open:打开指定路径上的FileStream。

    9.OpenRead:打开现有文件以进行读取。

    10.OpenText:打开现有UTF-8编码文本文件以进行读取。

    11.OpenWrite:打开现有文件以进行写入。

  创建文件。

    新建项目,添加页面Default.aspx,在Default.aspx.cs中,在头文件中引用命名空间:using System.IO;;Page_Load事件中的代码如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}

protected void Button1_Click(object sender, EventArgs e)
{
Boolean isOk = false;
string filePath = Server.MapPath("~/UploadedFiles/Images/");
if (FileUpload1.HasFile)
{
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
string[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".ico" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension.ToString () == allowedExtensions[i].ToString())
{
isOk = true;
}
}
}
if (isOk)
{
try
{
FileUpload1.PostedFile.SaveAs(filePath + FileUpload1.FileName);
Label1.Text="文件上传成功。";
}
catch (Exception ex)
{
Label1.Text="文件上传失败。";
}
}
else
{
Label1.Text="不支持的文件类型。";
}
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: