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

Создание txt файла

СообщениеДобавлено: 07 мар 2014, 21:12
cenak
Я по большей части знаю графические манипуляции в шарпе, но появилась надобность в создании txt файла прямо из игры, с текстом внутри.
помогите написать его, думаю текст в файле создавать через переменные, но можете предложить свои варианты. :)

Re: Создание txt файла

СообщениеДобавлено: 07 мар 2014, 21:26
slawik
C#. Работа с файлами.

В этом посте будут рассмотрены основные операции над файлами.

Примечание. Все необходимые классы находятся в пространстве имен System.IO.

Создание файла.

Для этого воспользуемся классом FileInfo из пространства имен System.IO. В конструктор передаем имя будущего файла. Создание файла производится вызовом метода Create().
Синтаксис:
Используется csharp
            FileInfo fi = new FileInfo("new.txt");
            fi.Create();
 


Удаление файла.

Все аналогично предыдущему примеру. Для удаления файла используем метод Delete().
Синтаксис:
Используется csharp
            FileInfo fi = new FileInfo("new.txt");
            fi.Delete();
 


Запись в файл.

Для записи (а в последующем и для чтения) в файл мы будем использовать символьные потоки позволяющие оперировать непосредственно с символами Unicode.
Синтаксис:
Используется csharp
            StreamWriter sw = new StreamWriter("name.txt");
            sw.WriteLine("блаблабла");
            sw.Close();
 

После всех действий над файлом не забываем закрывать его используя метод Close(), в противном случае изменения в файле не только не будут сохранены. Приведеный выше пример записи файла полностью перезаписывает его, если же надо дописать в конец файла:
Синтаксис:
Используется csharp
            StreamWriter sw;
            FileInfo fi = new FileInfo("name.txt");
            sw = fi.AppendText();
            sw.WriteLine("blablabla");
            sw.Close();
 


Чтение из файла.

Для того чтобы файл был корректно считан (без всяких непонятных символов), он должен быть сохранен в юникоде.
Синтаксис:
Используется csharp
            StreamReader streamReader = new StreamReader("name.txt");
            string str = "";
 
            while (!streamReader.EndOfStream)
            {
                str += streamReader.ReadLine();
            }
           streamReader.Close();
 

Ещё один вариант, для разнообразия
Синтаксис:
Используется csharp
            StreamReader streamReader = new StreamReader("name.txt");
            string str = "", str_temp="";
 
            while ((str_temp = streamReader.ReadLine()) != null)
            {
                str += str_temp;
            }
           streamReader.Close();
 

Re: Создание txt файла

СообщениеДобавлено: 07 мар 2014, 21:36
cenak
спасибо за помощь, только не понятно что такое FileInfo, sw и AppendText, fi насколько я понимаю это переменная,

Re: Создание txt файла

СообщениеДобавлено: 07 мар 2014, 21:50
slawik
я может ошибаюсь но все же скажу
FileInfo- это класс
sw и fi - это переменные
AppendText - это функция

Re: Создание txt файла

СообщениеДобавлено: 08 мар 2014, 09:00
Woland
x_x x_x x_x x_x

Re: Создание txt файла

СообщениеДобавлено: 08 мар 2014, 20:37
slawik
???

Re: Создание txt файла

СообщениеДобавлено: 13 ноя 2019, 14:33
Legion5slov
Все было бы хорошо. Вот только на платформе WebGL файл создается на стороне клиента. И, следовательно, у автора нет доступа к логам/статистике использования его игры. Как сделать, чтоб файл создавался на сервере?

Re: Создание txt файла

СообщениеДобавлено: 13 ноя 2019, 22:23
seaman
Как сделать, чтоб файл создавался на сервере?

Видимо создавать его на сервере!..

PS: серверов разных сотни. Вам виднее какой у Вас сервер и как там создаются файлы.

Re: Создание txt файла

СообщениеДобавлено: 15 ноя 2019, 21:40
arahis
А я дурачок учился записывать в бинарный файл. А его потом ничем не розшифруешь. :)) Спасибо сообществу. (popcorn1)

Re: Создание txt файла

СообщениеДобавлено: 16 ноя 2019, 12:47
Jarico
arahis писал(а):А я дурачок учился записывать в бинарный файл. А его потом ничем не розшифруешь. :)) Спасибо сообществу. (popcorn1)


BinaryFormatter использовал?

Re: Создание txt файла

СообщениеДобавлено: 25 окт 2021, 13:49
NightKot
Нууу... В Editor или StandartAlone Создать, прочитать, дописать txt не проблема. А как это работает в WebGL? Неужели, кроме NETCORE приложения, размешенного на хосте, никаких решений нет? Это ж ужос натуральный. Заморочки с хешем, доступом, алиминистрированием... Мраки сплошные.

Re: Создание txt файла

СообщениеДобавлено: 25 окт 2021, 17:44
Saltant
NightKot писал(а):Нууу... В Editor или StandartAlone Создать, прочитать, дописать txt не проблема. А как это работает в WebGL? Неужели, кроме NETCORE приложения, размешенного на хосте, никаких решений нет? Это ж ужос натуральный. Заморочки с хешем, доступом, алиминистрированием... Мраки сплошные.

WebGL билд работает у клиента в браузере, ты не имеешь доступа к файловой системе напрямую. Можешь только хранить что то у юзера в браузере, в local storage например.

Re: Создание txt файла

СообщениеДобавлено: 26 окт 2021, 11:30
NightKot
Saltant писал(а):
NightKot писал(а):Нууу... В Editor или StandartAlone Создать, прочитать, дописать txt не проблема. А как это работает в WebGL? Неужели, кроме NETCORE приложения, размешенного на хосте, никаких решений нет? Это ж ужос натуральный. Заморочки с хешем, доступом, алиминистрированием... Мраки сплошные.

WebGL билд работает у клиента в браузере, ты не имеешь доступа к файловой системе напрямую. Можешь только хранить что то у юзера в браузере, в local storage например.


Значит только через запросы, я так понимаю...

Re: Создание txt файла

СообщениеДобавлено: 26 окт 2021, 17:13
Saltant
NightKot писал(а):
Saltant писал(а):
NightKot писал(а):Нууу... В Editor или StandartAlone Создать, прочитать, дописать txt не проблема. А как это работает в WebGL? Неужели, кроме NETCORE приложения, размешенного на хосте, никаких решений нет? Это ж ужос натуральный. Заморочки с хешем, доступом, алиминистрированием... Мраки сплошные.

WebGL билд работает у клиента в браузере, ты не имеешь доступа к файловой системе напрямую. Можешь только хранить что то у юзера в браузере, в local storage например.


Значит только через запросы, я так понимаю...

Что значит "через запросы"?

Re: Создание txt файла

СообщениеДобавлено: 29 окт 2021, 15:20
NightKot
нууу... UnityWebRequest.