刚学VB2005,如何用代码删除文本文件的第一行和最后一行,并且运行要快!不要批处理。谢谢!

如题所述

Imports System.IO
Module Module1
    Sub Main()
        Dim input = "C:\test\test.txt"
        Dim output = "C:\test\test1.txt"
        Dim lines = File.ReadAllLines(input)
        Dim lst = New List(Of String)(lines)
        If (lines.Length > 2) Then
            lst.RemoveAt(lines.Length - 1)
            lst.RemoveAt(0)
        End If
        File.WriteAllText(output, String.Join(Environment.NewLine, lst.ToArray))
        Console.WriteLine("ok")
        Console.ReadLine()
    End Sub
End Module

追问

New List(Of String)(lines) 这行提示“没有可访问的新new能够不经收缩转换即可被调用.......",如何解决?

追答

截图看看。

追问

追答

你的VS版本太老了,换了种写法你看行不行:

    Sub Main()
        Dim InFile = "C:\test\test.txt"
        Dim OutFile = "C:\test\test1.txt"
        Dim ArrIn = File.ReadAllLines(InFile)
        Dim Len = ArrIn.Length - 2
        Dim ArrOut(Len) As String

        If (ArrIn.Length > 2) Then
            Array.Copy(ArrIn, 1, ArrOut, 0, Len)
        End If

        File.WriteAllText(OutFile, String.Join(Environment.NewLine, ArrOut))
        Console.WriteLine("ok")
        Console.ReadLine()
    End Sub

追问

现在是可以了,但汉字部分变成乱码了!

温馨提示:答案为网友推荐,仅供参考
相似回答