none
如何打开TXT文件后在指定位置插入文本? RRS feed

答案

  • 你可以StreamReader的ReadToEnd()全部读出来。进行处理。也可以采取ReadLine一行一行读取
    【孟子E章】
    2009年6月18日 5:01
    版主
  • 你好!
         可以使用FileStream的Seek方法定位到你需要的位置,然后向流里面写数据!
    周雪峰
    2009年6月18日 6:33
    版主
  • 通过Readline逐行找到你要插入的位置,例如在第11行开头插入abc:

    Dim a As integer

        Do While Not EOF(1)    ' 检查文件尾。
            TextBox1.Text &= LineInput(1) & vbcrlf   ' 读入一行数据。
            If InStr(TextBox1.Text, vbcrlf) > 0 Then 
                a += 1
                If a=10 then TextBox1.Text = TextBox1.Text & "abc"
                End If
            End If
        Loop


    这里是举例,没有写打开文件的代码,那个应该自己会了
    然后就是如果搜索行直接用Readline计数就可以了,但是我是为了举例让你写搜索别的东西的,所以用Instr

    上面的执行完及时关闭文件,然后把TextBox1.Text写到文件里去……Over

    2009年6月20日 0:07

全部回复

  • 你可以StreamReader的ReadToEnd()全部读出来。进行处理。也可以采取ReadLine一行一行读取
    【孟子E章】
    2009年6月18日 5:01
    版主
  • 你好!
         可以使用FileStream的Seek方法定位到你需要的位置,然后向流里面写数据!
    周雪峰
    2009年6月18日 6:33
    版主
  • 通过Readline逐行找到你要插入的位置,例如在第11行开头插入abc:

    Dim a As integer

        Do While Not EOF(1)    ' 检查文件尾。
            TextBox1.Text &= LineInput(1) & vbcrlf   ' 读入一行数据。
            If InStr(TextBox1.Text, vbcrlf) > 0 Then 
                a += 1
                If a=10 then TextBox1.Text = TextBox1.Text & "abc"
                End If
            End If
        Loop


    这里是举例,没有写打开文件的代码,那个应该自己会了
    然后就是如果搜索行直接用Readline计数就可以了,但是我是为了举例让你写搜索别的东西的,所以用Instr

    上面的执行完及时关闭文件,然后把TextBox1.Text写到文件里去……Over

    2009年6月20日 0:07
  • 那你只能读出来再替换再写了,不过性能不怎么样。。
    我的博客,最近新写了一个Windows Mobile 6.5 Widget开发的文章,欢迎捧场
    尽力回答每一个问题,但不代表一定正确,希望初学者能够多自己尝试。。共勉。。:)
    2009年6月20日 14:17
    版主