Ich schreibe gerade ein Texteditor Programm, aber ich habe ein Problem festgestellt.Lade Textdatei mit Befehl Args
Ich versuche, dem Benutzer zu ermöglichen, eine Datei mit meinem Programm zu öffnen, indem Sie auf es doppelklicken, was durch Festlegen des Standardprogramms erreicht wird. Mir wurde gesagt, dass dies das Programm den Dateipfad als Befehlsargument sendet. ich es so bin mit:
private void formMain_Load(object sender, EventArgs e)
{
string[] args = System.Environment.GetCommandLineArgs();
string filePath = args[1];
addTab();
getFontCollection();
setFontSizes();
getCurrentDocument.Text = (File.ReadAllText(filePath));
}
Allerdings habe ich den folgenden Fehler konsequent erhalten:
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: The given path's format is not supported.
Wenn jemand mir bitte direkt, dies zu Festsetzung würde, wäre es sehr geschätzt. Durch die Art und Weise wird die gesamte Quellcode auf Github befindet, github.com/Criticaldiamonds/asys
EDIT
MSDN Entsprechend ist das erste Argument das Programm selbst, vom Benutzer angegebenen Argumenten gefolgt von . Daher
args[0] = the program
args[1] = "C:\users\Giovanni\Desktop\Hello.txt" (w/o quotes ofc)
Da der VS-Debugger Zeichen entkommt, den Wert von args[1]
im Debugger ist "C: \\ Benutzer \\ Giovanni \\ Desktop-\\ Hello.txt"
Was auch immer in args war Daten [1] stellt keinen gültigen Pfad. –
Können Sie überprüfen, was der Zeichenfolgenwert durch das Debuggen ist? –
@Ian Der Wert ist C: \\ Benutzer \\ Giovanni \ Desktop \ Hallo.txt Hat es mit den doppelten Backslashes zu tun? – criticaldiamonds