В настоящее время я пишу программу для текстового редактора, однако у меня возникла проблема.Загрузить текстовый файл с помощью команды args
Я пытаюсь разрешить пользователю открывать файл с помощью моей программы, дважды щелкнув его, что достигается установкой программы по умолчанию. Мне сказали, что это отправляет программе filepath в качестве аргумента команды. Я использую это так:
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));
}
Однако, я постоянно получаю следующее сообщение об ошибке:
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: The given path's format is not supported.
Если кто-то пожалуйста направить меня к фиксации этого, было бы весьма признателен. Кстати, весь исходный код находится на Github, github.com/Criticaldiamonds/asys
EDIT
Согласно MSDN, первый аргумент сама программа, а затем заданных пользователем аргументов , Поэтому
args[0] = the program
args[1] = "C:\users\Giovanni\Desktop\Hello.txt" (w/o quotes ofc)
Поскольку отладчик VS ускользает символы, значение args[1]
в отладчике является "C: \\ пользователи \\ \\ Desktop Джиованни \\ hello.txt"
Что бы данные в аргументах [1] не представляет собой правильный путь. –
Можете ли вы проверить, что такое значение строк через отладку? –
@Ian Значение C: \\ Users \\ Giovanni \\ Desktop \\ Hello.txt Это связано с двойной обратной косой чертой? – criticaldiamonds