Куда положить file.dat в Unity. Чтоб открывать ее через BinaryReader в андроиде и т д?
Делал так в самом юнити, но оказалось с Assets нельзя открывать на андроиде.
private string Path;
Path = "Assets/file.dat";
using (BinaryReader binaryReader = new BinaryReader(File.Open(Path, FileMode.Open)))
Ответы (2 шт):
Application.persistentDataPath
private readonly string _path = UnityEngine.Application.persistentDataPath;
Расположение на Android: /storage/emulated/0/Android/data/<packagename>/files
Расположение в эдиторе: %userprofile%\AppData\LocalLow\<companyname>\<productname>
Если кому кому интересно как я решил этот вопрос. В Assets создаем папку Resources (это системная папка нужна для загрузки из нее файлов, объектов, изображений и т.д). Расширение файла меняем с file.dat на file.bytes, путь к файлу указываем как просто название файла, так как загрузка будет происходить уже напрямую с папки Resources. Создаем массив bytes и задаем ей значение с помощю метода Resources.Load(). Проверяем загрузилось ли что либо в bytes. Если он не пустой, то кидаем его в поток памяти MemoryStream и считываем через BinaryReader.
private string Path;
Path = "file";
var bytes = Resources.Load<TextAsset>(Path).bytes;
if (bytes != null)
{
using (Stream stream = new MemoryStream(bytes))
{
using (BinaryReader binaryReader = new BinaryReader(stream ))
{
//ваш код
}
}
}