none
VB2008 如何读写指定行啊? RRS feed

  • 问题

  • 比如我有一个TEXT文本框,及一个COMMANDBUTTON,当我点击BUTTON时,程序自动找程序目录下“test.txt”文件里与TEXT1.TEXT文本框内容相同的字符所在的行,把行数提取出来(比如第5行),然后读取此行数后一行(即第6行)的内容,并在以后的第二行(即第7行)写入一段字符或数字。
    2009年9月15日 5:24

答案

  • i=0
    Using sr As StreamReader = New StreamReader("TestFile.txt")
                    Dim line As String
                    ' Read and display the lines from the file until the end
                    ' of the file is reached.
                    Do
                        line = sr.ReadLine()
                        i=i+1
                        if i=5 then
                             line='修改第五行
                       endif
                        Console.WriteLine(Line)
                        '把line存到变量,最后写回去
                    Loop Until line Is Nothing
                    sr.Close()
                End Using

    http://feiyun0112.cnblogs.com/
    2009年9月15日 6:37
    版主
  • '把temp存到变量,最后写回去
    str=str+temp+Environment.NewLine

    My.Computer.FileSystem.WriteAllText("TestFile.txt",str,true)

    http://feiyun0112.cnblogs.com/
    2009年9月16日 0:47
    版主
  • 你的代码中并没有向文件中写数据的代码:
    需要使用StreamWriter.WriteLine方法把修改的数据写回去!
    周雪峰
    2009年9月15日 11:40
    版主

全部回复

  • 不行,只有从第一行开始读到指定位子


    http://feiyun0112.cnblogs.com/
    2009年9月15日 6:05
    版主
  • 可能上面没说清楚,我的意思是如何读取和修改指定的行数上的数据

    比如有一个文本文件,共10行

    我提供了一个变量,假设变量的6

    那么我要直接显示第六行的数据,并且修改第七行的数据

    2009年9月15日 6:23
  • 都读出来,只修改底5行,在写回去
    http://feiyun0112.cnblogs.com/
    2009年9月15日 6:29
    版主
  • 多谢feiyun0112版主回答,关键就是这个我不会啊,不知道用什么命令能够实现让他修改第五行
    2009年9月15日 6:32
  • i=0
    Using sr As StreamReader = New StreamReader("TestFile.txt")
                    Dim line As String
                    ' Read and display the lines from the file until the end
                    ' of the file is reached.
                    Do
                        line = sr.ReadLine()
                        i=i+1
                        if i=5 then
                             line='修改第五行
                       endif
                        Console.WriteLine(Line)
                        '把line存到变量,最后写回去
                    Loop Until line Is Nothing
                    sr.Close()
                End Using

    http://feiyun0112.cnblogs.com/
    2009年9月15日 6:37
    版主
  • 好像不能修改啊,不知道哪里错了,可以读取,就是不能把写入数据,也没提示错误

    Dim i As Integer
            i = 0
            Using sr As System.IO.StreamReader = New System.IO.StreamReader("test.txt")
                Dim temp As String
                ' Read and display the lines from the file until the end
                ' of the file is reached.
                Do
                    temp = sr.ReadLine()
                    i = i + 1
                    If i = 5 Then
                        temp = "测试测试" '修改第5行
                    End If
                    Console.WriteLine(temp)   '把temp存到变量,最后写回去
                Loop Until temp Is Nothing
                sr.Close()
            End Using
    2009年9月15日 8:34
  • 你的代码中并没有向文件中写数据的代码:
    需要使用StreamWriter.WriteLine方法把修改的数据写回去!
    周雪峰
    2009年9月15日 11:40
    版主
  • Console.WriteLine不是么?那请问上面那个我应该怎么改呢?
    2009年9月15日 13:42
  • '把temp存到变量,最后写回去
    str=str+temp+Environment.NewLine

    My.Computer.FileSystem.WriteAllText("TestFile.txt",str,true)

    http://feiyun0112.cnblogs.com/
    2009年9月16日 0:47
    版主
  • 会了,谢谢,不过刚接触这个还是想了很久,试了很多次才会的:(
    2009年9月16日 1:30