在ASP.NET中进行文件处理
2005-03-22 10:28
309 查看
一种程序设计语言,对文件处理的能力的大小往往也是一种语言功能大小的一种表现。在ASP.NET中,对于文件的处理主要是通过.Net FrameWork SDK中的一个System.IO的名称空间来实现了,在System.IO名称空间中定义了许多关于文件处理的类(class)、方法和属性,这些类、方法和属性使得在很容易在ASP.NET中进行文件处理。由于在此名称空间中有定义了许多类、方法和属性,而这些不可能通过本文来一一介绍。本文主要结合例子来具体介绍对于文件处理的基本操作。
文件基本操作也就是我们平常经常用到的。具体说就是对文件的读、写、拷贝、移动、删除。下面就这几个操作来具体介绍一下。
一.[/b] [/b]程序设计及运行环境[/b] [/b]
Windows 2000 专业版本、.Net FrameWork SDK 测试第二版( Beta 2)
二.[/b] [/b]通过[/b]ASP.NET[/b]页面进行文件的读操作[/b] [/b]
本程序的运行界面及运行结果如下图所示:
图1:程序的运行界面
图2:程序的运行结果界面
1).程序设计中的主要思路及步骤:
本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是打开指定文件并把文件以ASCII码的形式显示出来。下面是程序设计中的一些主要步骤:
i>.读取文件中用到的对象--StreamReader
在System.IO中定义了一个读取文件的对象--StreamReader,本程序就是通过这个对象完成对文件的读取。然后以文本形式显示出来。具体如下:
Dim streamreaderobj As StreamReader
file_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 StreamReader
Dim file_name as String
' 定义一个变量来保存从文件中读出的内容
Dim filecont As String
streamreaderobj = File.OpenText ( file_name )
panel1.visible = false
' 一行一行读出文件内容,知道读到一行内容为空字符串的时候,才停止
Do
filecont = streamreaderobj.ReadLine ()
' 利用StreamReader对象读取文件
Response.Write( filecont & " <br> " )
' 显示文件内容
Loop Until filecont = ""
' 在读操作完成以后,关闭StreamReader对象
streamreaderobj.Close
Response.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 >
[/b]三[/b].ASP.NET[/b]页面进行文件写操作:[/b] [/b]
本程序的运行界面如下图所示:
图3:程序运行界面
1).程序设计中的主要思路及步骤:
本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是建立一个文本形式的文件,这个文件名是可以让使用者自行定义的,然后把使用者填入的内容保存在此文件中。下面是程序设计的主要步骤:
i>.读取文件中用到的对象--StreamWriter
StreamWriter也是由名称空间--System.IO中定义的,主要用来写入文件内容。本程序中也通过他来完成文件写操作的。对文件的写操作相比较文件的读操作来说较简单。具体的步骤如下:
Dim strwriterobj As StreamWriter
Dim contxt as String
file_name = filename.text
contxt = 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 StreamWriter
Dim file_name as String
Dim contxt as String
' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象
file_name = filename.text
contxt = body.text
strwriterobj = File.CreateText ( file_name )
' 把文本内容写入文件中
strwriterobj.WriteLine( contxt )
'关闭对象
strwriterobj.Close
Response.write ( "成功的进行了文件写操作!" )
panel1.visible = false
End 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 >
[/b]四[/b].[/b]在[/b]ASP.NET[/b]页面中完成文件的拷贝、移动和删除操作[/b] [/b]
在ASP.NET中完成文件的拷贝、移动和删除操作就更简单了。这是因为在名称空间System.IO中就定义了对文件进行拷贝和移动的方法。直接调用这些方法就可以完成以上操作。下面给出文件拷贝、移动和删除例子。
1).文件拷贝操作
<% @ Import Namespace = "System.IO" %>
<%
' 下面语句完成文件拷贝工作
File.copy ( "c:/sample.txt" , "c:/temp.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( "文件的删除工作已经成功完成!" )
%>
五.总结:[/b] [/b]
要想灵活的运用ASP.NET,充分感.NET的强大功能,实现我们看似很难完成工作,就必须掌握微软公司为.Net框架开发的.Net FrameWork SDK。也只有掌握了.Net FrameWork SDK中的内容,你也才可以。
文件基本操作也就是我们平常经常用到的。具体说就是对文件的读、写、拷贝、移动、删除。下面就这几个操作来具体介绍一下。
一.[/b] [/b]程序设计及运行环境[/b] [/b]
Windows 2000 专业版本、.Net FrameWork SDK 测试第二版( Beta 2)
二.[/b] [/b]通过[/b]ASP.NET[/b]页面进行文件的读操作[/b] [/b]
本程序的运行界面及运行结果如下图所示:
图1:程序的运行界面
图2:程序的运行结果界面
1).程序设计中的主要思路及步骤:
本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是打开指定文件并把文件以ASCII码的形式显示出来。下面是程序设计中的一些主要步骤:
i>.读取文件中用到的对象--StreamReader
在System.IO中定义了一个读取文件的对象--StreamReader,本程序就是通过这个对象完成对文件的读取。然后以文本形式显示出来。具体如下:
Dim streamreaderobj As StreamReader
file_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 StreamReader
Dim file_name as String
' 定义一个变量来保存从文件中读出的内容
Dim filecont As String
streamreaderobj = File.OpenText ( file_name )
panel1.visible = false
' 一行一行读出文件内容,知道读到一行内容为空字符串的时候,才停止
Do
filecont = streamreaderobj.ReadLine ()
' 利用StreamReader对象读取文件
Response.Write( filecont & " <br> " )
' 显示文件内容
Loop Until filecont = ""
' 在读操作完成以后,关闭StreamReader对象
streamreaderobj.Close
Response.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 >
[/b]三[/b].ASP.NET[/b]页面进行文件写操作:[/b] [/b]
本程序的运行界面如下图所示:
图3:程序运行界面
1).程序设计中的主要思路及步骤:
本ASP.NET页面中采用的程序语言是VB.NET。程序主要功能是建立一个文本形式的文件,这个文件名是可以让使用者自行定义的,然后把使用者填入的内容保存在此文件中。下面是程序设计的主要步骤:
i>.读取文件中用到的对象--StreamWriter
StreamWriter也是由名称空间--System.IO中定义的,主要用来写入文件内容。本程序中也通过他来完成文件写操作的。对文件的写操作相比较文件的读操作来说较简单。具体的步骤如下:
Dim strwriterobj As StreamWriter
Dim contxt as String
file_name = filename.text
contxt = 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 StreamWriter
Dim file_name as String
Dim contxt as String
' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象
file_name = filename.text
contxt = body.text
strwriterobj = File.CreateText ( file_name )
' 把文本内容写入文件中
strwriterobj.WriteLine( contxt )
'关闭对象
strwriterobj.Close
Response.write ( "成功的进行了文件写操作!" )
panel1.visible = false
End 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 >
[/b]四[/b].[/b]在[/b]ASP.NET[/b]页面中完成文件的拷贝、移动和删除操作[/b] [/b]
在ASP.NET中完成文件的拷贝、移动和删除操作就更简单了。这是因为在名称空间System.IO中就定义了对文件进行拷贝和移动的方法。直接调用这些方法就可以完成以上操作。下面给出文件拷贝、移动和删除例子。
1).文件拷贝操作
<% @ Import Namespace = "System.IO" %>
<%
' 下面语句完成文件拷贝工作
File.copy ( "c:/sample.txt" , "c:/temp.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( "文件的删除工作已经成功完成!" )
%>
五.总结:[/b] [/b]
要想灵活的运用ASP.NET,充分感.NET的强大功能,实现我们看似很难完成工作,就必须掌握微软公司为.Net框架开发的.Net FrameWork SDK。也只有掌握了.Net FrameWork SDK中的内容,你也才可以。
相关文章推荐
- 在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET
- FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
- ASP.NET 2.0中母版页中引用文件路径的问题(对原处理方法中的bug进行了修改)
- 在ASP.NET中进行文件处理(1)
- 分享一个管理硬盘中的音乐文件的ASP.NET程序,仅限于我个人的处理方式
- asp.net不同类型文件读取处理
- asp.net连接sql2005,cs文件里直接书写的代码,纯手工操作,不在web.config里面进行配置。
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
- ASP.NET:使用web.config文件进行配置
- ASP.NET中进行消息处理(MSMQ) 一
- asp.net 在处理向该请求提供服务所需的配置文件时出错
- ASP.NET中使用MSMQ进行消息处理系列文章
- 使用队列和线程对现有asp.net动态页处理进行资源控制
- C#、asp.net中的一般处理程序.ashx文件重命名问题
- 转--ASP.NET中进行消息处理(MSMQ) 二
- ASP.NET中进行消息处理(MSMQ)
- asp.net中采用ajax进行多文件上传和删除
- 24:ASP.NET复习系列- ASP.NET提高-在ASP.NET中进行消息处理(一)
- ASP.NET 预编译期间的文件处理