gpt4 book ai didi

vb.net - 从文本文件读取到数组

转载 作者:行者123 更新时间:2023-12-03 01:19:16 28 4
gpt4 key购买 nike

我正在尝试逐行读取文本文件并将其添加到数组中,当前代码和输出如下。我如何正确读取它,即将实际文本读入数组,而不是当前输出。 (VB.NET 的控制台应用程序版本)

代码:

Sub Main()
Dim file As String = "C:\path\to\file\textfile.txt"
Dim quoteArray As New ArrayList
FileOpen(1, file, OpenMode.Input)
Do While Not EOF(1)
quoteArray.Add(LineInput(1))
Loop
FileClose(1)
Console.WriteLine(quoteArray)
Console.ReadLine()
End Sub

输出:

System.Collections.ArrayList

最佳答案

您的代码可以工作,但无法一次打印整个数组。您必须以某种方式迭代数组并单独打印每个项目或将它们组合成一个字符串。

单独打印每个项目:

For Each Item As String In quoteArray
Console.WriteLine(Item)
Next

使用String.Join()将它们组合成一个字符串:

Console.WriteLine(String.Join(Environment.NewLine, quoteArray.ToArray(GetType(String))))
<小时/>

但是我不明白的是为什么你用 VB.NET 编写,但仍然使用 VB6 时代过时的函数和类:

  • ArrayList

  • FileOpen()

  • LineInput()

  • FileClose()

现在有更多更好的替代方案:

或者您可以将以上所有内容替换为 regular array并一次调用 File.ReadAllLines() .

  1. StreamReader解决方案:

    Dim quoteList As New List(Of String)

    Using Reader As New StreamReader("C:\path\to\file\textfile.txt")
    While Reader.EndOfStream = False
    quoteList.Add(Reader.ReadLine())
    End While
    End Using
  2. File.ReadAllLines()解决方案:

    Dim quoteArray As String() = File.ReadAllLines("C:\path\to\file\textfile.txt")

使用循环打印列表/数组:

For Each Item As String In quoteArray
Console.WriteLine(Item)
Next

使用String.Join()打印列表/数组:

Console.WriteLine(String.Join(Environment.NewLine, quoteArray))

(如果您使用的是 quoteList 解决方案,只需将这两个示例中的 quoteArray 替换为 quoteList)

关于vb.net - 从文本文件读取到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995239/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com