Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验10 文件加解密

上传人:E**** 文档编号:89426083 上传时间:2019-05-25 格式:PPT 页数:31 大小:143.50KB
返回 下载 相关 举报
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验10 文件加解密_第1页
第1页 / 共31页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验10 文件加解密_第2页
第2页 / 共31页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验10 文件加解密_第3页
第3页 / 共31页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验10 文件加解密_第4页
第4页 / 共31页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验10 文件加解密_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验10 文件加解密》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验10 文件加解密(31页珍藏版)》请在金锄头文库上搜索。

1、2019年5月25日星期六,Visual Basic.NET程序设计实验 实验10 文件加解密,2019年5月25日星期六,【功能描述】,实现对任何文件进行加密及解密。,2019年5月25日星期六,【实验内容】,1FileStream、StreamReader、StreamWriter对象及应用。 2OpenFileDialog控件、SaveFileDialog控件的使用。 3Xor运算、Byte数据类型的应用。,2019年5月25日星期六,【实验目的】,1理解文件、文件流的概念。 2熟悉使用System.IO命名空间访问文件的基本方法。 3熟悉OpenFileDialog控件、SaveFil

2、eDialog1控件的使用方法。 4了解文件加密及解密的基本原理。,2019年5月25日星期六,【预备知识】,1System.IO命名空间 2Encoding类 3读写文本文件 4以字节方式处理文件 5Xor运算符 6OpenFileDialog组件 7SaveFileDialog组件,2019年5月25日星期六,【实验步骤】,1创建及保存项目 2窗体设计 3程序设计 4程序调试 5程序改进,2019年5月25日星期六,【问题与思考】,1通过联机帮助学习使用My.Computer.FileSystem对象进行文件访问的方法。 2模拟Windows的记事本程序,设计一个简单记事本。 3按下面要求

3、改写程序: 用户选择一个要加密的文件后,直接对该文件加密,不产生新的文件。 4按下面要求改写程序: 对文件进行加密时,将密码写入到被加密的文件中间。当对文件进行操作时,判断该文件是否已被加密。如果未加密,则加密该文件。如果已加密,则取出该文件中的密码,并检查是否与解密密码一致,若一致则解密,否则提示密码错误,不予以解密。,2019年5月25日星期六,System.IO命名空间,System.IO命名空间以流的方式对各种数据进行访问,这种访问文件的方式不但灵活,而且可以保证编程接口的统一。System.IO命名空间常用的类有: (1)Directory类和DirectoryInfo类 提供对目录

4、和子目录进行创建、移动和枚举(遍历)的方法。DirectoryInfo类提供实例方法,Directory 类提供静态方法。 (2)File类和FileInfo 类 提供用于创建、复制、删除、移动和打开文件的方法,并协助创建FileStream。FileInfo类提供实例方法,File类提供静态方法。 (3)FileStream类 FileStream类是Stream类的派生类,提供以字节流的方式对文件中的数据进行操作。默认情况下,FileStream以同步方式打开文件,但它也支持异步操作。 (4)BinaryReader类和BinaryWriter类 提供用于从二进制文件读取或写入特定编码的字

5、符串和基元数据的方法。 (5)StreamReader类和StreamWriter类 提供通过使用Encoding以不同编码形式进行以字符方式读写文件的方法,通常用于读写文本文件。 读写文件的简单方法有两种,一种是以字符流方式读写,另一种是以字节流方式读写。通常以字符流方式来处理文本文件,而字节流方式可以处理所有文件。,2019年5月25日星期六,Encoding类,Encoding类包含在System.Text命名空间中,表示字符编码。常用的属性有: Default 获取系统的当前ANSI代码页的编码。 Unicode 获取使用Little-Endian字节顺序的UTF-16格式的编码。 U

6、TF8 获取UTF-8格式的编码。 常用的方法有: GetBytes 将一组字符编码为一个字节序列。 GetChars 将一个字节序列解码为一组字符。 GetString 将一个字节序列解码为一个字符串。,2019年5月25日星期六,读写文本文件,通常用StreamReader类和StreamWriter类来读写文本文件。在使用StreamReader类和StreamWriter类创建文件流对象时候,通常还要指定打开或写入文件所使用的字符编码Encoding,如没有指定,则默认值为Unicode。 (1)StreamReader类 StreamReader类以一种特定的编码从文件流中读取字符。

7、常用的方法有: Read 从文件流中读取任意个字符。 ReadLine 从文件流中读取一行字符。 ReadToEnd 从文件流中读至末尾的所有字符。 Close 关闭文件流中并释放相关资源。 (2)StreamWriter类 StreamReader类以一种特定的编码从文件流中写入字符。常用的方法有: Write 将字符或字符串写入文件流中。 WriteLine 将字符或字符串写入文件流中,并写入回车换行符。 Close 关闭文件流中并释放相关资源。,2019年5月25日星期六,例10-1 简单的记事本,编写一个程序,用于专门读写C:Test.txt文件。程序运行时,自动读取文件C:Test.

8、txt的内容并显示,用户可对文件内容进行修改。当程序窗口被关闭时,程序自动将输入的内容保存到文件C:Test.txt中。 新建一项目,在窗体中添加一个文本框,不需进行任何设置,添加下面代码。,2019年5月25日星期六,例10-1 简单的记事本(代码),Imports System.IO, System.Text 引入命名空间 Public Class Form1 Dim fname As String = “C:Test.txt“ 指定要处理的文件 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.

9、EventArgs) Handles MyBase.Load Dim f As StreamReader, txt As String Try f = New StreamReader(fname, Encoding.Default) 创建文件流 txt = f.ReadToEnd 读取文件流内容 f.Close() 关闭文件 Catch ex As Exception End Try With TextBox1 初始化文本框 .Dock = DockStyle.Fill .Multiline = True .ScrollBars = ScrollBars.Vertical .Text = t

10、xt .Select(0, 0) End With Me.Text = fname End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Try Dim f As New StreamWriter(fname, False, Encoding.Default) f.Write(TextBox1.Text) f.Close() Catch ex As Exception En

11、d Try End Sub End Class,2019年5月25日星期六,以字节方式处理文件 - FileStream类,通常,使用Stream类的派生类FileStream类来以字节流的方式处理文件。在使用FileStream类创建文件流对象时候,通常还要指定文件的打开方式FileMode及文件的访问方式FileAccess。 (1)FileStream类 FileStream类的常用属性有: CanRead 获取当前流是否支持读取。 CanWrite 获取当前流是否支持写入。 Length 获取当前流用字节表示的流长度。 Position 获取或设置此流的当前位置。 FileStream

12、类的常用方法有: Read 从流中读取若干字节。 ReadByte 从流中读取一个字节。 Seek 设置流的当前位置。 Write 向文件流写入若干字节 WriteByte 向文件流写入一个字节 Close 关闭当前流并释放与之关联的所有资源。,2019年5月25日星期六,以字节方式处理文件 FileMode 、FileAccess枚举,(2)FileMode枚举 文件的打开方式FileMode常用的有: Append 打开现有文件并定位到文件末尾,或创建新文件。只能同FileAccess.Write一起使用。任何读尝试都将失败并引发错误。 Create 创建新文件。如果文件已存在,它将被改写

13、。 Open 打开现有文件。文件的访问方式取决于FileAccess所指定的值。如果该文件不存在,则引发错误。 (3)FileAccess枚举 文件的访问方式FileAccess有: Read 对文件的读访问。可从文件中读取数据。 ReadWrite 对文件的读访问和写访问。可从文件读取数据和将数据写入文件。 Write 对文件的写访问。可将数据写入文件。,2019年5月25日星期六,例10-2 给图片文件加锁,编写程序给图片文件C:lotus.jpg加锁,使所有的图像处理工具都无法打开该文件。 新建一个项目,给窗体添加下面代码。 Imports System.IO Public Class

14、Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim fname As String = “C:lotus.jpg“ Try Dim f As New FileStream(fname, FileMode.Open, FileAccess.ReadWrite) If f.Length 40 Then 小于40字节的文件不处理 f.Close() Exit Sub End If Dim b(39) As Byte 字节数组 f.Read(b, 0,

15、 40) 读取40个字节到数组b中 f.Position = 0 设置文件流的当前位置 f.Write(b, 20, 20) 先写数组b的后20个字节到文件流 f.Write(b, 0, 20) 再写数组b的前20个字节到文件流 f.Close() Me.Text = fname & “文件处理成功!“ Catch ex As Exception Me.Text = fname & “文件访问错误!“ End Try End Sub End Class,2019年5月25日星期六,Xor运算符 - 逻辑异或,Xor称为异或运算,可对两个Boolean表达式执行逻辑异或运算,或对两个数值表达式执

16、行按位异或运算。 result = expression1 Xor expression2 如果expression1和expression2是两个Boolean表达式,则Xor运算的结果如下: expression1 expression2 result True True False False False False True False True False True True,2019年5月25日星期六,Xor运算符 - 按位异或,如果expression1和expression2是两个数值表达式,则先将数值转换为二进制数,然后再按位进行异或运算,最后再将运算结果的二进制数转换为数值。按位异或运算的规则如下: expression1 expression2 result 1 1 0 0 0 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号