轻轻松松背单词II 词库转换器(源代码)

原理很简单,看看就懂:)
None.gif Imports  System.IO
None.gif
Imports  System.Text
ExpandedBlockStart.gifContractedBlock.gif
Module BDCWordConverter Module BDCWordConverter
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Sub main()Sub main()
InBlock.gif        
Dim dir As New DirectoryInfo("D:\bdc\Word\")
InBlock.gif        
Dim fi As FileInfo() = dir.GetFiles("*.gds")
InBlock.gif        
For Each f As FileInfo In fi
InBlock.gif            
Dim fs As New FileStream(f.FullName, FileMode.Open)
InBlock.gif            
Dim br As New BinaryReader(fs)
InBlock.gif            fs.Position 
= 12
InBlock.gif            
Dim b01 As Byte() = br.ReadBytes(20)
InBlock.gif            
ReDim Preserve b01(27)
InBlock.gif            br.BaseStream.Position 
= 50
InBlock.gif            
Dim b02 As Byte() = br.ReadBytes(8)
InBlock.gif            b02.CopyTo(b01, 
20)
InBlock.gif
InBlock.gif 
InBlock.gif            Console.
WriteLine(f.FullName)
InBlock.gif            
Dim fileName As String = New StringBuilder(Encoding.GetEncoding("GB2312").GetChars(b01)).ToString.TrimEnd(CChar(" "))
InBlock.gif
InBlock.gif 
InBlock.gif            Console.
WriteLine("Processing {0}", fileName)
InBlock.gif            
Dim fw As New StreamWriter("D:\bdc word\" & fileName.TrimEnd(Chr(0)) & ".txt")
InBlock.gif            
Dim startPos As Integer = 290
InBlock.gif            
Dim offWord As Integer = 30
InBlock.gif            
Dim offPun As Integer = 30
InBlock.gif            
Dim offMean As Integer = 40
InBlock.gif            
Dim offCourse As Integer = 28
InBlock.gif            br.BaseStream.Position 
= 290
InBlock.gif
InBlock.gif 
InBlock.gif            
Dim Word As String
InBlock.gif            
Dim Pun As String
InBlock.gif            
Dim Mean As String
InBlock.gif            
Do Until br.PeekChar = -1
InBlock.gif                
Dim b1 As Byte() = br.ReadBytes(offWord)
InBlock.gif                Word 
= New ASCIIEncoding().GetChars(b1)
InBlock.gif                
Dim b2 As Byte() = br.ReadBytes(offPun)
InBlock.gif                Pun 
= New ASCIIEncoding().GetChars(b2)
InBlock.gif                
Dim b3 As Byte() = br.ReadBytes(offMean)
InBlock.gif                Mean 
= New StringBuilder(Encoding.GetEncoding("GB2312").GetChars(b3)).ToString
InBlock.gif                br.ReadBytes(offCourse)
InBlock.gif                fw.
WriteLine("""{0}"",""{1}"",""{2}""", Word.TrimEnd(CChar(" ")), Pun.TrimEnd(CChar(" ")), Mean.TrimEnd(CChar(" ")))
InBlock.gif            
Loop
InBlock.gif            fs.Flush()
InBlock.gif            fs.Close()
InBlock.gif        
Next
ExpandedSubBlockEnd.gif    
End Sub

ExpandedBlockEnd.gif
End Module

None.gif
None.gif

转载于:https://www.cnblogs.com/hesicong/archive/2005/08/03/207002.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值