分享
 
 
 

在ASP.NET中进行文件处理

王朝asp·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

一种程序设计语言,对文件处理的能力的大小往往也是一种语言功能大小的一种表现。在ASP.NET中,对于文件的处理主要是通过.Net FrameWork SDK中的一个System.IO的名称空间来实现了,在System.IO名称空间中定义了许多关于文件处理的类(class)、方法和属性,这些类、方法和属性使得在很容易在ASP.NET中进行文件处理。由于在此名称空间中有定义了许多类、方法和属性,而这些不可能通过本文来一一介绍。本文主要结合例子来具体介绍对于文件处理的基本操作。

文件基本操作也就是我们平常经常用到的。具体说就是对文件的读、写、拷贝、移动、删除。下面就这几个操作来具体介绍一下。

一. 程序设计及运行环境

Windows 2000 专业版本、.Net FrameWork SDK 测试第二版( Beta 2)

二. 通过ASP.NET页面进行文件的读操作

本程序的运行界面及运行结果如下图所示:

图1:程序的运行界面

图2:程序的运行结果界面

1).程序设计中的主要思路及步骤:

本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是打开指定文件并把文件以ASCII码的形式显示出来。下面是程序设计中的一些主要步骤:

i>.读取文件中用到的对象--StreamReader

在System.IO中定义了一个读取文件的对象--StreamReader,本程序就是通过这个对象完成对文件的读取。然后以文本形式显示出来。具体如下:

Dim streamreaderobj As StreamReaderfile_name = filename.PostedFile.FileName' 读出一个指定文件,并把他指派给streamreader对象Do

filecont = streamreaderobj.ReadLine ()

Response.Write( filecont & " <br> " )Loop Until filecont = ""' 一行一行读出文件内容,知道读到一行内容为空字符串的时候,才停止streamreaderobj.Close' 在读操作完成以后,关闭StreamReader对象

ii>在程序中所用到的Form的编码应该是"Multipart/Form-Data",不用他的缺省编码。具体如下:

<form Method = "Post" EncType = "Multipart/Form-Data" runat = "server" ></form >

2).程序的源代码:

<% @ Import Namespace = "System.IO" %><script language = "vb" runat = "server" >Sub SendButton_Click ( sender as Object , e as EventArgs )' 创建一个StreamReader对象Dim streamreaderobj As StreamReaderDim file_name as String' 定义一个变量来保存从文件中读出的内容Dim filecont As Stringstreamreaderobj = File.OpenText ( file_name )panel1.visible = false' 一行一行读出文件内容,知道读到一行内容为空字符串的时候,才停止Do

filecont = streamreaderobj.ReadLine ()

' 利用StreamReader对象读取文件

Response.Write( filecont & " <br> " )

' 显示文件内容Loop Until filecont = ""

' 在读操作完成以后,关闭StreamReader对象streamreaderobj.CloseResponse.write ( " <br> 以上就是" & file_name & "文件的全部内容! " )End Sub</script><asp:panel id = "panel1" runat = "server" ><form Method = "Post" EncType = "Multipart/Form-Data" runat = "server" ><p>欢迎在ASP.NET页面对文件进行读操作</p >请选择文件名称:<input type = "file" id = "filename" runat = "server" /> <br ><asp:button id = "Write" Text = "读文件" OnClick = "SendButton_Click" runat = "server" /></form ></asp:panel >

三.ASP.NET页面进行文件写操作:

本程序的运行界面如下图所示:

图3:程序运行界面

1).程序设计中的主要思路及步骤:

本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是建立一个文本形式的文件,这个文件名是可以让使用者自行定义的,然后把使用者填入的内容保存在此文件中。下面是程序设计的主要步骤:

i>.读取文件中用到的对象--StreamWriter

StreamWriter也是由名称空间--System.IO中定义的,主要用来写入文件内容。本程序中也通过他来完成文件写操作的。对文件的写操作相比较文件的读操作来说较简单。具体的步骤如下:

Dim strwriterobj As StreamWriterDim contxt as Stringfile_name = filename.textcontxt = body.text' 其中body.text是要写入文件的内容strwriterobj = File.CreateText ( file_name )' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象strwriterobj.WriteLine( contxt )' 把文本内容写入文件中strwriterobj.Close'关闭对象

ii>.上面主要完成的是对建立一个新文件,并写入内容。此时要写入的文件如果已经存在,程序就会清空原文件,然后再写入新内容。如果你所要完成的工作是对于已经存在的文件只是在文件尾部添加内容,对于不存在的文件才建立和追加内容。用以下语句替换,就可以了。

被替换语句:

strwriterobj = File.CreateText ( file_name )

替换成语句:

strwriterobj = File.AppendText ( file_name )

2).程序源代码

<% @ Import Namespace = "System.IO" %><script language = "vb" runat = "server" >Sub SendButton_Click ( sender as Object, e as EventArgs )' 定义一个 streamwriter 对象Dim strwriterobj As StreamWriterDim file_name as StringDim contxt as String' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象file_name = filename.textcontxt = body.textstrwriterobj = File.CreateText ( file_name )' 把文本内容写入文件中strwriterobj.WriteLine( contxt )'关闭对象strwriterobj.CloseResponse.write ( "成功的进行了文件写操作!" )panel1.visible = falseEnd Sub</script><asp:panel id="panel1" runat="server" ><form id="form1" runat="server" ><p>欢迎在ASP.NET页面对文件进行写操作</p >请填入文件名称:<asp:textbox id = "filename" size = "40" runat = "server" /><br >请填入写入内容:<asp:textbox id = "Body" TextMode = "MultiLine" Columns = "40" Rows = "10" runat = "server" /><br ><asp:button runat = "server" id = "Write" Text = "写入文件" OnClick = "SendButton_Click" /></form ></asp:panel >

四.在ASP.NET页面中完成文件的拷贝、移动和删除操作

在ASP.NET中完成文件的拷贝、移动和删除操作就更简单了。这是因为在名称空间System.IO中就定义了对文件进行拷贝和移动的方法。直接调用这些方法就可以完成以上操作。下面给出文件拷贝、移动和删除例子。

1).文件拷贝操作

<% @ Import Namespace = "System.IO" %><%' 下面语句完成文件拷贝工作File.copy ( "c:sample.txt" , "c:emp.txt" )Response.write ( "文件的拷贝工作已经成功完成!" )%>2).文件移动操作<% @ Import Namespace = "System.IO" %><%' 下面语句完成文件移动工作File.move ( "c:sample.txt" , "d:sample.txt" )Response.write ( "文件的移动工作已经成功完成!" )%>3).文件删除操作<% @ Import Namespace = "System.IO" %><%' 下面语句完成文件删除工作File.delete ( "c:sample.txt" )Response.write( "文件的删除工作已经成功完成!" )%>

五.总结:

要想灵活的运用ASP.NET,充分感.NET的强大功能,实现我们看似很难完成工作,就必须掌握微软公司为.Net框架开发的.Net FrameWork SDK。也只有掌握了.Net FrameWork SDK中的内容,你也才可以。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有