Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete specific lines in a text file using vb.net

Tags:

vb.net

I am trying to delete some specific lines of a text using VB.Net. I saw a solution here however it is in VB6. The problem is, I am not really familiar with VB6. Can somebody help me? This is the code from the link:

Public Function DeleteLine(ByVal fName As String, ByVal LineNumber As Long) _As Boolean
    'Purpose: Deletes a Line from a text file

    'Parameters: fName = FullPath to File
    '            LineNumber = LineToDelete

    'Returns:    True if Successful, false otherwise

    'Requires:   Reference to Microsoft Scripting Runtime

    'Example: DeleteLine("C:\Myfile.txt", 3)
    '           Deletes third line of Myfile.txt
    '______________________________________________________________


    Dim oFSO As New FileSystemObject
    Dim oFSTR As Scripting.TextStream
    Dim ret As Long
    Dim lCtr As Long
    Dim sTemp As String, sLine As String
    Dim bLineFound As Boolean

    On Error GoTo ErrorHandler
    If oFSO.FileExists(fName) Then
        oFSTR = oFSO.OpenTextFile(fName)
        lCtr = 1
        Do While Not oFSTR.AtEndOfStream
            sLine = oFSTR.ReadLine
            If lCtr <> LineNumber Then
                sTemp = sTemp & sLine & vbCrLf
            Else
                bLineFound = True

            End If
            lCtr = lCtr + 1
        Loop

        oFSTR.Close()
        oFSTR = oFSO.CreateTextFile(fName, True)
        oFSTR.Write(sTemp)

        DeleteLine = bLineFound
    End If


ErrorHandler:
    On Error Resume Next
    oFSTR.Close()
    oFSTR = Nothing
    oFSO = Nothing

End Function
like image 985
svynsaenz Avatar asked Dec 14 '25 00:12

svynsaenz


1 Answers

Dim delLine As Integer = 10
Dim lines As List(Of String) = System.IO.File.ReadAllLines("infile.txt").ToList
lines.RemoveAt(delLine - 1) ' index starts at 0 
System.IO.File.WriteAllLines("outfile.txt", lines)
like image 72
David Sdot Avatar answered Dec 16 '25 13:12

David Sdot