You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET实现网页TXT内容直接加载到ListBox(无需下载文件)

网页TXT内容直接加载到ListBox的解决方案

原代码错误原因

  • System.IO.File.ReadAllLines仅支持读取本地文件,无法处理HTTP URL,会触发路径无效异常
  • ListBox.Items.AddRange要求传入字符串数组,直接传递StreamReader类型不匹配,无法执行

正确实现代码(无需下载文件)

方法1:使用WebClient(适用于.NET Framework)

Using webClient As New WebClient()
    ' 直接获取远程TXT文本并按换行分割为字符串数组
    Dim txtLines As String() = webClient.DownloadString("http://webpage.com/list.txt") _
        .Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
    ' 将所有行批量添加到ListBox
    ListBox1.Items.AddRange(txtLines)
End Using
  • DownloadString直接从URL获取文本内容,无需保存到本地文件
  • StringSplitOptions.RemoveEmptyEntries可过滤掉空行,按需选择是否保留

方法2:使用HttpClient(推荐,适用于.NET Core/.NET 5+)

Async Sub LoadRemoteTxtToListBox()
    Using httpClient As New HttpClient()
        Dim txtContent As String = Await httpClient.GetStringAsync("http://webpage.com/list.txt")
        Dim txtLines As String() = txtContent.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
        ListBox1.Items.AddRange(txtLines)
    End Using
End Sub
  • HttpClient是.NET现代版本推荐的HTTP客户端,异步调用更高效

转为CSV格式(简化版)

如果需要将多行TXT转为CSV格式(每行作为一个字段),可直接拼接数组:

' 基于上面获取的txtLines数组生成CSV内容
Dim csvContent As String = String.Join(",", txtLines)
' 可直接使用csvContent,比如写入本地文件或展示

内容的提问来源于stack exchange,提问作者SilverSlash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:22:09