【ASP.NET 基础】ASP.NET 文件操作

简介:

以txt文件为例学习了ASP.NET文件的基本操作,下面是代码,应该很清楚了:

 

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//引入System.IO
using System.IO;
namespace FileTry
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //文本文件并不是指扩展名为 .txt 的文件,只要是以 ASCII 存储的文件均可,比如:.aspx、.htm、.css、.ini 等等。
            RenameEx();
        }

        /// <summary>
        /// 读示例
        /// </summary>
        private void ReadEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo1.txt");//返回与Web服务器上的指定虚拟路径相对应的物理文件路径
            if (File.Exists(path1))//确定指定文件是否存在,存在返回true,不存在返回false
            {
            //File.OpenText 目标不存在时,异常。
            using (StreamReader reader = //实现一个System.IO.StreamReader,使其以一种特定的编码从字节流中读取字符
                File.OpenText(path1)) //打开现有UTF-8编码文件以进行读取
            {
                string str = reader.ReadLine();//从当前流中读取一行字符并将数据作为字符串返回
                reader.Close();//关闭System.IO.StreamReader对象和基础流,并释放与读取器关联的所有系统资源
            }
            }
        }

        /// <summary>
        /// 写示例
        /// </summary>
        private void WriteEx() {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo1.txt");
            if (File.Exists(path1))
            {
            //File.CreateText 目标存在时,覆盖。相当于删除了原文本的内容
            using (StreamWriter writer =  File.CreateText(path1)) //创建或打开一个文件用于写入UTF-8编码的文本 
            {
                writer.WriteLine("写一行内容"); //将后跟行结束符的字符串写入文本流
                writer.Close();
            }
            }
        }

        /// <summary>
        /// 追加示例
        /// </summary>
        private void ElseEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo1.txt");
            if (File.Exists(path1))
            {
                using (StreamWriter writer =
                    File.AppendText(path1))//创建一个System.IO.StreamReader,它将UTF-8编码文本追到现有文件,不会删除原文本内容
                {
                    writer.WriteLine("追加一行内容");
                    writer.Close();
                }
            }
        }

        /// <summary>
        /// 删示例(不限定文件类型)
        /// </summary>
        private void DeleteEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo1.txt");
            if(File.Exists(path1))
            {
            //File.Delete 目标不存在时,跳过。
             File.Delete(path1);
            }
        }

        /// <summary>
        /// 复制文件
        /// </summary>
        private void CopyEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo.txt");
            //目标文件
            string path2 = Server.MapPath("goo1.txt");
            //File.Copy(Server.MapPath("goo.txt"), Server.MapPath("goo1.txt"));
            //将现有文件复制到新文件。允许覆盖同名文件。
            /**第一个参数表示源文件路径,
             * 第二个参数表示目标文件路径,
             * 第三个参数表示目标文件存在时,是否覆盖。默认为false。
             * 如果该值为 false,当目标文件存在时,会产生异常,而不是跳过复制。--异常为该文件已存在。
           */
            if (File.Exists(path1) && !File.Exists(path2))
            {
                File.Copy(path1,path2, true);
            }
            

        }

        /// <summary>
        /// 移动文件
        /// </summary>
        private void MoveEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath("goo.txt");
            //目标文件
            string path2 = Server.MapPath("document\\goo.txt");
            //将指定文件移到新位置,并提供指定新文件名的选项
            //如果目标文件存在,则会产生异常,而不是跳过移动。
            //第一个参数表示源文件路径, 第二个参数表示目标文件路径,路径上的文件夹要确实存在,不然会报错
            if (File.Exists(path1)&&!File.Exists(path2))
            {
                File.Move(path1,path2);
            }
        }

        /// <summary>
        /// 重命名文件
        /// </summary>
        private void RenameEx()
        {
            //源文件,必须存在哦
            string path1 = Server.MapPath(@"document\goo.txt");
            //目标文件
            string path2 = Server.MapPath(@"document\goo1.txt");
            //重命名文件的方法和移动文件的方法完全相同,只要目标文件和源文件位于同一文件夹下且文件名不相同。
            if (File.Exists(path1)&&!File.Exists(path2))
            {
                File.Move(path1,path2);
            }
        }
    }
}
复制代码

 






本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/archive/2013/04/27/3046611.html,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
63 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
99 5
|
3月前
|
开发框架 安全 搜索推荐
分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码ASP源码,总有一款适合您
27 4
|
7月前
|
开发框架 前端开发 .NET
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
176 0
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
|
8月前
|
存储 开发框架 .NET
ASP.NET学生管理系统(.NET毕业设计)
ASP.NET学生管理系统(.NET毕业设计)
100 0
|
9月前
|
开发框架 前端开发 JavaScript
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
|
10月前
|
开发框架 供应链 前端开发
net基于asp.net的社区团购网站
社区团购系统依托社区团购系统和社区门店,是现在的一个重大市场和发展方向,通过研究企业在社区团购系统环境下的营销模式创新,对于普通的零售业和传统社区团购系统的转型发展具有重要的理论意义。随着互联网行业的发展,人们的生活方式发生着重大变化,人们越来越倾向于网络购物,这对传统企业来说如何把客户留下是一个重大挑战。就现在而言,由于社区团购的竞争已经进入最紧张激烈的阶段,有些团购平台甚至已经彼此之间打起了价格战,其中不乏有平台因为利润变少或资金链断裂而半途败亡。企业在实际的商业活动中,往往会面临许多等待优化的问题。因此,要在竞争激烈的市场中拔得头筹,必须重视提升对新商业模式的全面认知,科学于实际贴合的分
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
86 0