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

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

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

Сообщение AndyGriffits 25 апр 2017, 11:15

Добрый день, задача достаточно тривиальная, но у меня возникли сложности
Необходимо сделать счетчик запусков и перезапусков приложения. Я решил создать переменную которая будет считываться из текстового файла при каждом запуске,чтобы узнать предыдущее количество,затем увеличиваться на единицу и перезаписываться обратно в этот файл. Однако, файл пустой и ничего не записывается. Возможно кто-то сможет подсказать альтернативное решение или объяснить в чем моя ошибка,спасибо!
Синтаксис:
Используется 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);
        }
Аватара пользователя
AndyGriffits
UNIт
 
Сообщения: 84
Зарегистрирован: 08 апр 2014, 20:42

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

Сообщение waruiyume 25 апр 2017, 11:39

Вангую: в консоле большая красная надпись "Parsing exception".
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

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

Сообщение AndyGriffits 25 апр 2017, 13:31

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

Может быть объясните решение,если не сложно?
Аватара пользователя
AndyGriffits
UNIт
 
Сообщения: 84
Зарегистрирован: 08 апр 2014, 20:42

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

Сообщение DbIMok 25 апр 2017, 14:04

создаем файл, читаем пустоту, пустоту пытаемся интерпретировать как int... что должно получиться? exception
if (string.IsNullOrEmpty(launchstring)) launchstring = "0"; // м.б. как-то так
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение ilka 25 апр 2017, 17:35

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

Может просто TryParse?
ilka
UNIверсал
 
Сообщения: 478
Зарегистрирован: 21 авг 2015, 19:32

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

Сообщение DbIMok 25 апр 2017, 17:39

ну, я бы вообще не парсил при создании
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение AndyGriffits 25 апр 2017, 17:58

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

Огромное спасибо!
Аватара пользователя
AndyGriffits
UNIт
 
Сообщения: 84
Зарегистрирован: 08 апр 2014, 20:42


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 30