Страница 1 из 1

Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 11:15
AndyGriffits
Добрый день, задача достаточно тривиальная, но у меня возникли сложности
Необходимо сделать счетчик запусков и перезапусков приложения. Я решил создать переменную которая будет считываться из текстового файла при каждом запуске,чтобы узнать предыдущее количество,затем увеличиваться на единицу и перезаписываться обратно в этот файл. Однако, файл пустой и ничего не записывается. Возможно кто-то сможет подсказать альтернативное решение или объяснить в чем моя ошибка,спасибо!
Синтаксис:
Используется csharp
        public int launchnumber;
        public string launchstring;

        void Awake(){
               
                if(!Directory.Exists("Info"))
                        Directory.CreateDirectory("Info");
               
                if(!File.Exists("Info/counter.txt")){
                        File.Create("Info/counter.txt");
                }
                launchstring = File.ReadAllText ("Info/counter.txt");
                launchnumber = int.Parse (launchstring);
                launchnumber++;
                launchstring = (launchnumber).ToString ();
                File.WriteAllText ("Info/counter.txt",launchstring);
        }

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 11:39
waruiyume
Вангую: в консоле большая красная надпись "Parsing exception".

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 13:31
AndyGriffits
waruiyume писал(а):Вангую: в консоле большая красная надпись "Parsing exception".

Открыл output_log, и вы правы:
FormatException: Input string was not in the correct format
at System.Int32.Parse (System.String s) [0x00000] in <filename unknown>:0
at LaunchCounter.Awake () [0x00000] in <filename unknown>:0

Может быть объясните решение,если не сложно?

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 14:04
DbIMok
создаем файл, читаем пустоту, пустоту пытаемся интерпретировать как int... что должно получиться? exception
if (string.IsNullOrEmpty(launchstring)) launchstring = "0"; // м.б. как-то так

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 17:35
ilka
DbIMok писал(а):создаем файл, читаем пустоту, пустоту пытаемся интерпретировать как int... что должно получиться? exception
if (string.IsNullOrEmpty(launchstring)) launchstring = "0"; // м.б. как-то так

Может просто TryParse?

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 17:39
DbIMok
ну, я бы вообще не парсил при создании

Re: Запись переменной в файл

СообщениеДобавлено: 25 апр 2017, 17:58
AndyGriffits
DbIMok писал(а):создаем файл, читаем пустоту, пустоту пытаемся интерпретировать как int... что должно получиться? exception
if (string.IsNullOrEmpty(launchstring)) launchstring = "0"; // м.б. как-то так

Огромное спасибо!