Запись данных в файл на Hololens

В моем приложении Hololens я хочу записать данные в файл, который затем можно просмотреть на портале устройств. Данные содержат только время от одной воздушной карты на специальном объекте до другой воздушной карты. Проблема заключается в том, что на Портале устройств не будет создано ни одного файла в /LocalAppData/YourApp/LocalState

заранее спасибо

Джонатан

public void StopTime()

{

    TimeSpan ts = time.Elapsed;
    time.Stop();
    path = Path.Combine(Application.persistentDataPath, "Messdaten.txt");
    using (TextWriter writer = File.CreateText(path))
    {
        writer.Write(ts);
    }
}

2 ответа

Решение

Я обычно использую FileStream и StreamWriter и убедитесь, что FileMode.Create установлено.

Смотрите также Как записать текст в файл для большего количества подходов.

using (var file = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Write))
{
    using (var writer = new StreamWriter(file, Encoding.UTF8))
    {
        writer.Write(content);
    }
}

С этим у меня никогда не было проблем с HoloLens.

Вы также можете использовать что-то вроде ts.ToString() для того, чтобы отформатировать значение для ваших нужд.


В качестве альтернативы вы также можете попробовать Unity's Windows.File (доступен только для UWP), но вам нужно иметь byte[] в качестве ввода. Например отсюда

long c = ts.Ticks;
byte[] d = BitConverter.GetBytes(c);

File.WriteAllBytes(path, d);

Самое простое, что нужно сделать, это использовать File.WriteAllText метод https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writealltext?view=netframework-4.7.2

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

Другие вопросы по тегам