我在VB 2010上使用一次性打击垫软件。 问题如下。我有一个带有许多连续字符的txt文件,例如“KHKJHDKJDHAKHDAKHDAKHAKDHADHAKJDHASJDHA”,我需要读取这些字符的可变数量,并用相同数量的点替换它(例如,读取四个字符“KHKJ”用四个点替换它们“ .... HDKJDETCETC“)。在此之后,我将不得不记住txt密钥文件中最后一个点的位置,以便下次读取剩余的密钥。怎么做?
感谢info.de快速回复,对于没有深化我的请求,我深表歉意。让我解释一下,我的项目是一个Vernam聊天,我需要一个单键txt文件,必须在广播者和接收者之间以某种方式保持同步。当我发送消息时,必须删除使用的密钥,并在删除后接收的密钥也将其删除。 目标是同步两个关键文件!
我想到这样的事情:
'阅读部分
Using stream = File.OpenRead("c:\key.txt")
stream.Seek(v, SeekOrigin.Begin)
Dim b = New Byte(a - 1) {} '
stream.Read(b, 0, a)
Dim str = Encoding.ASCII.GetString(b)
txtPad.Text = str ' portions of code read in txt for encodinh/decoding
End Using
v =在文件key.txt中读取的启动位置
a =要获取的key.txt中的文本长度=要编码的文本的长度
写作部分
Using stream = File.OpenWrite("c:\key.txt")
stream.Seek(v, SeekOrigin.Begin)
Dim b = New Byte(a - 1) {}
stream.Write(b, 0, 1)
End Using
但是如何使用此代码用点取代字符来覆盖(不删除)?
最重要的是下一个重复后续编码/解码操作的坐标是什么? (V不断变化)
提前感谢。
答案 0 :(得分:0)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'//--- -----------------------------------------------
'//--- KHKJHDKJDHAKHDAKHDAKHAKDHADHAKJDHASJDHA-line1#
'//--- KHKJHDKJDHAKHDAKHDAKHAKDHADHAKJDHASJDHA-line2#
Dim lines() As String = System.IO.File.ReadAllLines(Application.StartupPath & "\TextFile1.txt")
Dim iReplaceLength As Integer
Dim sReplaceSubString As String
For Each line As String In lines
MessageBox.Show(line)
sReplaceSubString = "KHKJ"
iReplaceLength = sReplaceSubString.Length
MessageBox.Show(line.Replace(sReplaceSubString.ToCharArray, New String("."c, iReplaceLength)))
MessageBox.Show(line.Substring(iReplaceLength, line.Length - iReplaceLength))
Next
End Sub
End Class