Unity streamreader не работает после build

StreamReader не работает правильно после перезагрузки сцены в Unity

Unity 5.3 — Загрузка сцен с помощью диспетчера сцен

У меня есть программа для чтения потоков, которую я использую для анализа данных в программе. Когда я впервые открываю сцену из главного меню, программа чтения потока работает правильно при синтаксическом анализе данных (я пропустил синтаксический анализ в моем фрагменте, поскольку код длинный). Вывод text.text на экран при первом запуске — G. Если я вернусь в главное меню, а затем вернусь в эту сцену, то вывод text.text — это первая строка текстового документа, где мой код читает текст .text = line, и я пытаюсь понять, почему. Является ли sr.Close () неправильным способом закрыть средство чтения потока? Или файл как-то еще открыт? Заранее благодарим за любую помощь, которую может оказать кто-либо.

И вот так я загружаю свои сцены

  • 2 Рассмотрите возможность использования » using оператор с такими классами, как StreamReader которые реализуют IDisposable . Когда StreamReader выпадает из области видимости, он будет закрыт и утилизирован автоматически, что упростит вашу логику, особенно при рассмотрении обработки исключений.
  • Как именно вы снова загружаетесь в эти сцены? Вы используете LoadScene () во время игры?
  • Я использую SceneManager.LoadScene (строка) из главного меню. Добавил код в правку.

Ваша проблема связана с «Сборкой мусора» (посетите этот URL: «https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/»). Простой ответ: C # может выпускать (удалять) множество вещей после того, как вы их используете, но такие вещи, как «файлы», к их числу не относятся. Вы должны освободить их после использования, и если вы этого не сделаете, ваш файл будет открыт, и другой процесс не сможет получить к нему доступ. Вам нужно удалить StreamReader после того, как ваша работа будет сделана. И «using» делает это (для этого вам не нужно писать собственный диспоузер).

Читайте также:  Как настроить звук для ноутбука

после этого файл будет выпущен автоматически.

Использование do close stream для вас надлежащим образом, это связано с тем, что класс StreamReader реализовал интерфейс IDisposable, и это позволяет использовать оператор using, который после завершения области действия автоматически вызывает метод Dispose в SreamReader, и в этом методе очищаются ресурсы и закрываются открытые файлы, и если необходимо, поскольку последний шаг называется сборщиком мусора

Источник

Использование папки ресурсов в Unity

Я разрабатываю проект HoloLens, который должен ссылаться .txt-файл. У меня есть файлы, хранящиеся в папке «ресурсы» Unity, и они работают отлично (при запуске через Unity):

однако при создании программы для развертывания HoloLens я могу запустить код, но он не работает. Ни один из ресурсов не отображается, и при рассмотрении решения HoloLens Visual Studio( созданного путем выбора сборки в Unity) я даже не вижу ресурсов или активов папка. Мне интересно, делаю ли я что-то неправильно или есть специальный способ справиться с такими ресурсами.

также с изображениями и звуковыми файлами.

строка’ str ‘ действительна; она отлично работает с Unity. Однако, опять же, он ничего не загружает при запуске через HoloLens.

1 ответов

вы не можете прочитать каталог ресурсов с помощью StreamReader или File класса. Вы должны использовать Resources.Load .

1.Путь относится к любой папке Resources внутри папки Assets вашего проекта.

2.Do не включите имена расширений файлов, такие как .txt, .формат PNG, .mp3 в параметре path.

3.Используйте прямые косые черты вместо обратных, когда у вас есть другая папка внутри ресурсы. обратные косые черты не сработают.

текстовые файлы:

поддерживает TextAsset формат:

звуковые файлы:

файлы изображений:

Спрайты — Один:

изображение Тип Текстуры значение Sprite (2D и UI) и

изображение Спрайт Режим значение один.

спрайты — Несколько:

изображение Тип Текстуры значение Sprite (2D и UI) и

изображение Спрайт Режим значение несколько.

видеофайлы (Unity > = 5.6):

GameObject Prefab:

3D Mesh (например, файлы FBX)

3D-сетки (с GameObject Prefab)

3D модель (как GameObject)

доступ к файлам в папке:

например, если у вас есть стрелять.mp3 файл, который находится в подпапке под названием»звук«, который расположен в ресурсы папка, вы используете косую черту:

Источник

Использование папки ресурсов в Unity

Я разрабатываю проект HoloLens, который должен ссылаться .txt-файл. У меня есть файлы, хранящиеся в папке «ресурсы» Unity, и они работают отлично (при запуске через Unity):

однако при создании программы для развертывания HoloLens я могу запустить код, но он не работает. Ни один из ресурсов не отображается, и при рассмотрении решения HoloLens Visual Studio( созданного путем выбора сборки в Unity) я даже не вижу ресурсов или активов папка. Мне интересно, делаю ли я что-то неправильно или есть специальный способ справиться с такими ресурсами.

также с изображениями и звуковыми файлами.

строка’ str ‘ действительна; она отлично работает с Unity. Однако, опять же, он ничего не загружает при запуске через HoloLens.

1 ответов

вы не можете прочитать каталог ресурсов с помощью StreamReader или File класса. Вы должны использовать Resources.Load .

1.Путь относится к любой папке Resources внутри папки Assets вашего проекта.

2.Do не включите имена расширений файлов, такие как .txt, .формат PNG, .mp3 в параметре path.

3.Используйте прямые косые черты вместо обратных, когда у вас есть другая папка внутри ресурсы. обратные косые черты не сработают.

текстовые файлы:

поддерживает TextAsset формат:

звуковые файлы:

файлы изображений:

Спрайты — Один:

изображение Тип Текстуры значение Sprite (2D и UI) и

изображение Спрайт Режим значение один.

спрайты — Несколько:

изображение Тип Текстуры значение Sprite (2D и UI) и

изображение Спрайт Режим значение несколько.

видеофайлы (Unity > = 5.6):

GameObject Prefab:

3D Mesh (например, файлы FBX)

3D-сетки (с GameObject Prefab)

3D модель (как GameObject)

доступ к файлам в папке:

например, если у вас есть стрелять.mp3 файл, который находится в подпапке под названием»звук«, который расположен в ресурсы папка, вы используете косую черту:

Источник

StreamingAssets на Android

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout?
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал.

Работа с файлами android которые находятся не в папке проекта Android Studio
Всех приветствую, начал разработку приложения под Android и не могу разобраться как работать с.

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/. скачал exeшник для установки Android Studio.

Android Studio не находит функцию TextView в пакете Android.Widget
Я создал новый проект в Android Studio. Android Studio не находит функцию TextView в пакете.

Зачем StreamReader? Просто www.text разве не возвращает то что нужно?

Добавлено через 2 минуты

Сделал вот так и 0 результатов.

Добавлено через 2 часа 53 минуты
Может дело в другом? Может мне надо запрашивать разрешение на изменение памяти или я неправильно компилирую apk?

Не знаю даже, должно работать, у тебя текстовики лежат в Assets/StreamingAssets ?
Если да, то правда не знаю)

п. с. Проверь точно ли написано название этой папки, попробуй переписать, а еще лучше зайди на телефоне по этому пути и посмотри есть ли там твой файл вообще.

Мне содержимое, а не код.

Добавлено через 35 секунд

Туда надо указывать путь к файлу или файловый поток, а Вы лепите туда текст от «wwwText». Там что хранится путь к другому файлу?

Да и вообще вы инициализировали ридер, но не использовали его:

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by.

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Ошибка в Android Studio Error:No resource identifier found for attribute ‘appComponentFactory’ in package ‘android’
Доброго времени суток! При компиляции андроид приложении выходит данная ошибка, прошу помочь! Мне.

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае — «RTFM» и точка. Так вот.

Не работает мобильный интернет после перепрошивки на с Android 4.2.2 на Android 4.2.2
Всем привет. После перепрошивки телефона почему-то перестал работать мобильный интернет. До этого.

Источник

StreamReader не работает правильно после перезагрузки сцены в Unity

У меня есть потоковый ридер, который я использую для анализа данных в программе. Когда я в первый раз открываю сцену из главного меню, потоковый считыватель работает правильно при разборе данных (в коде я пропустил синтаксический анализ, так как код длинный). Вывод text.text на экран при первом запуске — это G. Если я вернусь в главное меню, а затем вернусь в эту сцену, то вывод text.text будет первой строкой текстового документа, где мой код читает текст.text = строка, и я пытаюсь выяснить, почему. Является ли sr.Close() правильным способом для закрытия потокового считывателя? Или файл как-то все еще открыт? Заранее благодарим за любую помощь, которую кто-либо может оказать.

И вот как я загружаю свои сцены

2 ответа

Ваша проблема связана с «сборкой мусора» (посетите этот URL: » https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/»). Простой ответ — C# может освободить (избавиться) от многих вещей после того, как вы их используете, но что-то вроде «файлов» не является одним из них. Вы должны освободить их после использования, и если вы этого не сделаете, ваш файл будет открыт, и другой процесс не сможет получить к нему доступ. Вам нужно избавиться от «StreamReader» после того, как ваша работа будет завершена. И «использование» делает это (вам не нужно для этого создавать собственный утилизатор).

после этого файл будет выпущен автоматически.

Использование do close stream для вас должным образом, это потому, что класс StreamReader реализовал интерфейс IDisposable, и это позволяет использовать оператор using, который после завершения области автоматически вызывает метод Dispose в SreamReader, и в этом методе очищаются ресурсы и закрываются открытые файлы, и если нужен как последний шаг называется сборщик мусора

Источник

Оцените статью