不起作用的代码...在文件搜索文件上杀死进程,搜索文件,进行流写操作

时间:2013-07-07 12:25:05

标签: vb.net find streamwriter kill-process getfiles

你可以帮我解决这个问题吗?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim x As String = "C:\Users\Andy\Documents\Visual Studio 2008\Projects\minecraft srv\"

    For Each app As Process In Process.GetProcesses
        If app.ProcessName = "notepad" Then
            app.Kill()
        End If
    Next

    Dim result As String
    Dim servprop() As String
    servprop = System.IO.Directory.GetFiles(x, "server.*")

    For Each file In servprop
        result = Path.GetFileName(file)
    Next

    Dim z As String = "C:\Users\Andy\Documents\Visual Studio 2008\Projects\minecraft srv\" & result.ToString
    Dim t As StreamWriter = New StreamWriter(z)
    t.WriteLine(TextBox1.Text.ToString)
    t.Close()
End Sub

所以...我有一个按钮(button1),可以找到是否打开记事本并将其杀死。 然后它在“x”位置搜索“server.Properties” 如果找到server.properties,那么“result”将得到他的名字(服务器) “z”是streamwriter必须从textbox1写入文本的文件位置。

它不起作用... streamwirter没有在server.properties上写...为什么? 提到:我只是个孩子:D,我正在努力学习自己的视觉基础。

1 个答案:

答案 0 :(得分:0)

如果您只有一个名为“server.properties”的文件,那么您可以删除搜索此文件的所有代码并直接写入。

Dim z As String
z = System.IO.Path.Combine(x, "server.properties")

Using t = New StreamWriter(z)
    t.WriteLine(TextBox1.Text.ToString)
    t.Flush()
End Using

关于错误,使用正确的using语句封装编写代码可确保完全清理。也可能没有必要添加对Flush()的调用,但不会受到伤害。