Visual Basic.NET文本操作
2009-05-25 12:40
316 查看
查看文章 |
2007-07-05 11:47
将文本文件导入数组 开始时引用 Imports System.IO 按钮的Click事件 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '打开目标文件(文件流) Dim myFs As New FileStream(Application.StartupPath & "/a.txt", FileMode.Open, FileAccess.Read) '读文件 Dim r As New StreamReader(myFs) Dim i As Integer Dim myLine, tempStr As String '创建数组,接收文件数据 Dim myLineStr(), a(100), b(100) As String Dim c(100) As Integer i = 0 myLine = r.ReadLine Do While Not (myLine Is Nothing) myLineStr = myLine.Split(",") a(i) = myLineStr(0) b(i) = myLineStr(1) c(i) = myLineStr(2) i += 1 Loop End Sub 在VB.NET里操作文本文件 在.NET里的System.IO.File和System.IO.FileInfo里的OpenText和AppenText等几个方法都是使用UTF-8编码操作文件的.这就导致如果操作不是使用UTF-8编码编写的文件时将会出现乱码现象!!! 解决方法就是对文本文件使用字节流操作,即不使用.NET里提供的OpenText和AppenText等几个方法,而是将文本当成二进制文件来操作,并且在操作时使用Encoding的方法进行相应的解码即可.实现代码如下: 打开文本文件: Public Function LoadFile(ByVal FileName As String) as String If FileName= "" Then Return "" End If Try Dim FileReader As FileStream = File.Open(FileName, FileMode.Open) Dim FileByte(FileReader.Length) As Byte FileReader.Read(FileByte, 0, FileReader.Length) '转成系统对应的编码字符 Dim MyEncoder As Encoding = Encoding.Default FileReader.Close() FileReader = Nothing Return New String(MyEncoder.GetChars(FileByte)) Catch e As Exception Return "" End Try End Sub 保存文件: Public Sub SaveToFile(ByRef Conten As String, ByVal FileName As String) '/*将Conten字符串的内容写入FileName文件 If FileName = "" Then Exit Sub End If Try Dim FileToWrite As FileStream = File.Create(FileName) Dim rByte() As Byte = Encoding.Default.GetBytes(Conten.ToCharArray) FileToWrite.Write(rByte, 0, rByte.Length) FileToWrite.Close() FileToWrite = Nothing Catch e As Exception End Try End Sub |
相关文章推荐
- .net入门之VB篇:Visual Basic.Net中的文件操作(一)
- VisualBasic.Net最简单的数据集动操作
- .net入门之VB篇:Visual Basic.Net中的文件操作(一)
- 转载 -- Visual Basic.Net中的文件操作
- Visual Basic.Net中的文件操作
- Visual Basic.Net 如何操作内存?
- XML 文件:使用 JScript、C# 和 Visual Basic.NET 扩展 XSLT
- [ZT] Create a Microsoft Access Database Using ADOX and Visual Basic .NET
- Net开发 细说Visual Basic.Net
- 在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组
- Network programming in .NET: C# & Visual Basic .NET
- Visual Basic.Net AES加密函数
- 3DSTATE for Visual basic.Net开发(二)
- 3DSTATE for Visual basic.Net开发(十三)
- 在 Visual Basic .NET 或 JScript 代码中使用早期绑定
- 一步一步创建Visual Basic .NET 控件[附源码]
- 防止对 Visual Basic .NET 或 C# 代码进行反相工程 已经相关原理介绍
- 从过去到未来、 从Visual和Basic到Net。(从VB到VB.NET的12个技巧)(三)
- Programming Visual Basic 2008: Build .NET 3.5 Applications with Microsoft's RAD Tool for Business
- 用Visual Basic.NET编写扑克牌游戏