2016-07-24 5 views
-1

Ich frage mich nur, wie man einen bestimmten Wert aus einer Notepad-Datei mit vb.net lesen.VB.net Lesen Sie bestimmten Wert von Notepad-Datei

Mein Notizblock würde wie folgt aussehen:

Name=Something 
Status=Open 

Was ich will, ist für VB.net der Lage sein, den Wert von entweder Namen oder Status zu lesen. Ich möchte also ein Label "Etwas" sagen, wenn ich den Wert von Name bekommen möchte.

Dank

+0

Zeigen Sie, was Sie bisher versucht haben. –

+0

@AndrewMortimer Ich fürchte, ich habe nicht zu viel versucht, weil ich keine Ahnung habe, wo ich anfangen soll. Ich habe versucht, nach Antworten zu suchen, aber ich habe nichts gefunden, was mir helfen würde. –

+0

Dies ist die "SteamReader" -Klasse, die Ihnen beim Lesen von Dateien helfen kann: https://msdn.microsoft.com/en-us/library/system.io.streamreader(v=vs.110).aspx?cs-save- lang = 1 & cs-lang = vb # code-snippet-2 –

Antwort

1

Dies sollte Sie erhalten begonnen:

Dim FileName = "File full path" 
Dim values = New Dictionary(Of String, String)() 
Dim text = File.ReadAllLines(FileName) 
For Each line In text 
    Dim keyValuePair = line.Split("="C) 
    values.Add(keyValuePair(0), keyValuePair(1)) 
Next 

Bitte beachten Sie:

  1. keine Validierungen Es auf den Standort oder den Inhalt der Datei hier.
  2. Der Code wurde in C# geschrieben und mit einem Online-Tool in vb.Net konvertiert.
    Ich habe es in C# getestet, aber nicht in vb.Net.
+0

Getestet in VB.net für Sie, macht den Job, obwohl Sie nicht wirklich die Klammern am Ende von brauchen? Dim Werte = New Dictionary (Of String, String)() ' –

+0

@ Cal-cium danke! Es ist lange her, dass ich vb.net zum letzten Mal benutzt habe, vor ein paar Jahren nach C# gewechselt bin und nie zurückgeblickt habe ... –

0

... Und wenn Sie bestimmten Wert verwenden wollen diesen:

Public Function getd(ByVal str As String, ByVal filepath As String) As String 
    Dim tb As New TextBox 
    tb.Text = My.Computer.FileSystem.ReadAllText(filepath) 
    For Each l In tb.Lines 
     If l.StartsWith(str & "=") Then 
      Return l.Replace(str & "=", "") 
     End If 
    Next 
End Function 

Ex. MsgBox(getd("Name", "C:\Users\user\Desktop\test.txt"))