【问题标题】:How to edit a line of data in text file如何编辑文本文件中的一行数据
【发布时间】:2014-10-29 06:13:20
【问题描述】:

我想使用 vb.net 编辑文本文件中的特定行。 下面的示例是我在文本文件中的数据:

Port1.txt

数据1

数据2

数据3

数据4

数据5

数据6

数据7

我想将文本文件中的 data5(第 5 行)编辑为 dataXX。我该怎么做?

到目前为止,通过使用下面的代码,我只能访问所有列出的数据,而不是一行数据。

 Dim path As String = "c:\Users\EliteBook\Desktop\Port1.txt"

    Dim readText() As String = File.ReadAllLines(path)
    Dim s As String
    For Each s In readText
        MsgBox(s)
    Next

这将在 msgbox 中为我提供文本文件中列出的所有数据的输出。如何访问特定的数据行而不是所有数据?我已经根据 Nahum Litvin 的建议编辑了这个问题,通过 here

【问题讨论】:

    标签: .net vb.net


    【解决方案1】:

    Nahum 的答案是正确的,但它在 C# 中。这是等效的 VB.NET,使用您在问题中发布的代码中的数据:

    Dim path As String = "c:\Users\EliteBook\Desktop\Port1.txt"
    Dim readText As String() = File.ReadAllLines(path)
    readText(4) = "dataXX"
    File.WriteAllLines(path, readText)
    

    上面的代码将文件读入一个字符串数组,每个元素一行。然后它将元素 4(第 5 行)更改为“dataXX”,在这行代码中:

    readText(4) = "dataXX"
    

    然后它将数组保存回文件,第 5 行读取“dataXX”。

    【讨论】:

      【解决方案2】:

      你使用了错误的方法。

      http://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110).aspx

      差不多这样,我手头没有编译器

      string path = @"c:\temp\MyTest.txt";
      string[] readText = File.ReadAllLines(path);
      string[4] = "new data";
      File.WriteAllLines(path, readText );
      

      【讨论】:

      • 我已经编辑了这个问题。 ReadAllLines 允许我读取文本文件中的所有数据。如何指定停止的位置?另外,我不明白他们为什么使用 Dim s 作为字符串,每个 s 使用 a。
      • File.ReadAllLines 返回一个字符串数组,每行一个数组元素。没有“停止”——它将整个文件读入数组。您可以通过数组中的相应索引访问所需的行 - 但不要忘记数组是从零开始的,因此第 5 行将是数组中的索引 4。
      • @Tim,那么我如何访问数组,因为当我使用 MsgBox(s(0)) 时。它导致显示第0列的数据。这是“d”。
      猜你喜欢
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多