2016-03-31 1 views
-2

Мне нужно было зарегистрировать значение int (приложение для отслеживания камеры). И поэтому я написал следующую функцию, попробовал некоторые варианты, но до сих пор он регистрирует только 1 образец данных, а другая команда в моем основном приложении, которая обновляет ярлык, часто обновляется, почему это не работает. Ниже приведена часть dll, которую я написал со всеми графическими функциями. я сделал полные перекомпиляции т.д., но он не хочет, чтобы сбросить мои INT в в журнале :(писатель потока не регистрирует добавление данных

public static void DumpIntToFile(string filename, int i) 
{ 
    StreamWriter sw = System.IO.File.AppendText(filename); 
    sw.WriteLine(i.ToString()); 
    sw.Close(); // to commit 
} 

здесь обновления этикеток, но мой журнал оленьей кожи расти

lblMinimumSurfaceSize.Text = Lijst[i].SurfaceSize.ToString(); 
MagicMath.DumpIntToFile(@"D:\SampleData.txt", Lijst[i].SurfaceSize); 
+0

это один образец данных _each time_ запустить приложение, или просто один пример когда-либо – CodingGorilla

+0

Просто попробовал ваш код, он отлично работает для меня ... возможно, вы перезаписать файл где-ELS? е? –

+0

, чтобы зафиксировать запись строки, попробуйте добавить 'sw.Flush();' перед 'sw.Close();' также вам нужно посмотреть перегрузки, там должен быть логический флаг, который вы можете установить на 'true' или 'false' в отношении перезаписи существующего файла или создания нового файла. – MethodMan

ответ

1

Вы должны очистить ваш писатель :

sw.Flush(); 
+0

Вызов Close() сбрасывает буфер – SpaceghostAli

+0

вызов 'Flush()' сразу же записывает его в файл, поэтому этот ответ также действителен .. он не должен быть проголосован ...! – MethodMan

+0

На самом деле, пока я не использовал его, мне нравится ваш ответ, мой код работает по неизвестным причинам, я думаю, что vs2015 было нелегко, я не изменил свой код. просто попытался скомпилировать его снова и снова (я не видел никакой ошибки или причины, по которой мой код не должен работать) – user3800527

Смежные вопросы