vb.net读取另一程序的标准输出

 访问一个进程的标准化输出

 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim p = New Process

        p.StartInfo.FileName = "ping"
        p.StartInfo.Arguments = "www.baidu.net"
        ' 必须禁用操作系统外壳程序  
        p.StartInfo.UseShellExecute = False
        p.StartInfo.CreateNoWindow = True
        p.StartInfo.RedirectStandardOutput = True

        p.Start()
        Dim output = p.StandardOutput.ReadToEnd()


        If (String.IsNullOrEmpty(output) = False) Then
            TextBox1.AppendText(output + vbCrLf)
        End If
        p.WaitForExit()
        p.Close()
    End Sub

在进程的waitForExit期间,主程序是被等待的。可以把进程放到后台运行,新建一个BackgroundWorker部件,在按钮按下时运行

 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        BackgroundWorker1.RunWorkerAsync()
    End Sub

    Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        Dim p = New Process

        p.StartInfo.FileName = "ping"
        p.StartInfo.Arguments = "www.baidu.net"
        ' 必须禁用操作系统外壳程序  
        p.StartInfo.UseShellExecute = False
        p.StartInfo.CreateNoWindow = True
        p.StartInfo.RedirectStandardOutput = True

        p.Start()
        Dim output = p.StandardOutput.ReadToEnd()


        If (String.IsNullOrEmpty(output) = False) Then
            Me.Invoke(Sub() TextBox1.AppendText(output + vbCrLf))
        End If
        p.WaitForExit()
        p.Close()
    End Sub

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 VB.NET读取 CSV 文件可以使用 .NET Framework 提供的 `System.IO` 命名空间中的 `File` 类和 `StreamReader` 类。 首先,使用 `File.OpenText` 方法打开 CSV 文件并返回一个 `StreamReader` 对象,然后可以使用 `StreamReader.ReadLine` 方法一行一行地读取文件中的内容。可以使用 String.Split()方法将每一行的字符串分割成数组形式放入其他的数据结构中. 示例代码如下: ```vb.net Dim filePath As String = "path/to/your/csv/file.csv" Dim sr As StreamReader = File.OpenText(filePath) Dim line As String While (sr.Peek() > -1) line = sr.ReadLine() Dim values() As String = line.Split(","c) 'do something with the values here End While sr.Close() ``` 需要注意的是,这种方法需要保证CSV文件的格式规范,如果格式不规范则可能读取不正确。 ### 回答2: VB.Net可以使用System.IO命名空间下的StreamReader类来读取CSV文件。以下是一个简单的示例代码: ```vb.net Imports System.IO Module Module1 Sub Main() ' 设置CSV文件路径 Dim csvFilePath As String = "C:\path\to\your\csvfile.csv" ' 创建StreamReader对象来读取CSV文件 Using reader As New StreamReader(csvFilePath) ' 读取CSV文件的第一行,通常是标题行 Dim header As String = reader.ReadLine() Console.WriteLine("CSV文件的标题行:") Console.WriteLine(header) ' 逐行读取CSV文件的数据行 Console.WriteLine("CSV文件的数据行:") While Not reader.EndOfStream Dim line As String = reader.ReadLine() Console.WriteLine(line) End While End Using Console.ReadLine() End Sub End Module ``` 以上代码首先导入System.IO命名空间,并设置CSV文件的路径。然后,创建一个StreamReader对象,指定CSV文件的路径来读取文件内容。 在里面的循环中,首先使用ReadLine方法读取CSV文件的第一行作为标题行,并将其输出到控制台。然后,使用EndOfStream属性判断是否读取到文件末尾,并使用ReadLine方法逐行读取CSV文件的数据行,并将其输出到控制台。 最后,在控制台中使用Console.ReadLine方法暂停程序的运行,以防止控制台窗口自动关闭。 ### 回答3: 在VB.Net读取CSV文件可以使用StreamReader类来实现。下面是一个简单的示例代码: ``` Imports System.IO Module Module1 Sub Main() Dim filePath As String = "C:\path\to\your\csv\file.csv" Using reader As New StreamReader(filePath) While Not reader.EndOfStream Dim line As String = reader.ReadLine() Dim values As String() = line.Split(","c) For Each value As String In values Console.WriteLine(value) Next End While End Using Console.ReadLine() End Sub End Module ``` 首先,我们需要导入System.IO命名空间来使用StreamReader类。然后,定义一个字符串变量filePath来指定CSV文件的路径。 接下来,我们使用Using语句创建一个StreamReader对象,并将CSV文件的路径传递给它。然后,在一个循环中,我们使用ReadLine方法逐行读取CSV文件的内容,将每行的内容通过Split方法按逗号分隔,得到一个字符串数组values,其中每个元素都是CSV文件中的一列数据。 最后,我们通过遍历values数组来输出每个列的数据到控制台。你也可以根据实际需要,将这些数据存储到一个集合或变量中进行进一步处理。最后,使用Console.ReadLine方法来等待用户输入,以保持控制台窗口打开。 希望这个简单示例可以帮助你读取CSV文件并处理其中的数据。请注意,这只是一个基本的示例,你可能需要根据CSV文件的具体格式进行适当的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值