Автор Тема: Работа с файлами в Unity Java Script  (Прочитано 3480 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Июль 16, 2013, 00:20:14 am
Прочитано 3480 раз

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2454
  • Репутация:
    153
    • Просмотр профиля
Коль уж дело коснулось этого, решил добавить сюда  эту полезную информацию.


Для начала, чтобы можно было работать с файловой системой и её пространством имён, нужно её подключить следующей директивой в самом начале скрипта:

import System.IO;

А вот -  рабочий пример, построчного чтения и записи строк в файл:

Создаём пустой проект, по имени TestProjectFile1, создаём  пустой ГО, и пустой JS скрипт. вешаем скрипт на  ГО.
В скрипт помещаем этот код, написаный ниже.
В папке проекта "TestProjectFile1" (в которой лежит папочка Assets c этим скриптом), создаём 2 текстовых файла:
items.txt и inventory.txt

#pragma strict
import System.IO; //подключаем пространство имён для работы с файловой системой

//путь к нашему файлу + название файла
var itemFile = "items.txt"; //В данном случае, в редакторе, этот файл лежит в папке "TestProjectFile1"
var inventoryFile = "inventory.txt"; //В данном случае, в редакторе, этот файл лежит в папке "TestProjectFile1"

function Start () {

//Читаем файл построчно:
if (!File.Exists(itemFile)) return; //Проверка существования файла. Если нету - выход из функции.

var sr = new File.OpenText(itemFile);//открываем файл на чтение

Debug.Log(sr.ReadLine());//читаенм первую строку из файла
Debug.Log(sr.ReadLine());//читаенм вторую строку из файла
Debug.Log(sr.ReadLine());//читаенм третью строку из файла
// и так  далее...
sr.Close(); //закрываем файл



//Пишем в файл построчно:
if (!File.Exists(inventoryFile)) return; //Проверка существования файла. Если нету - выход из функции.
var sw:StreamWriter = new StreamWriter(inventoryFile);//открываем файл на запись
sw.WriteLine("строка 1;");//добавляем в файл 1 текстовую строку
sw.WriteLine("строка 2;");//добавляем в файл 1 текстовую строку
sw.WriteLine("строка 3");//добавляем в файл 1 текстовую строку
sw.Flush();//очищаем буфер
sw.Close();//закрываем файл

}