【问题标题】:Writing Data into a File on Hololens在 Hololens 上将数据写入文件
【发布时间】:2019-02-06 15:53:05
【问题描述】:

在我的 Hololens 应用程序中,我想将数据写入一个文件,然后我可以通过设备门户查看该文件。数据仅包含从一个特殊对象上的 airtap 到另一个 airtap 的时间。 问题是在/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);
    }
}

【问题讨论】:

  • 你的 StopTime 方法真的被调用了吗?另外,根据文档,Application.persistentDataPath 没有解析为/LocalAppData/YourApp/LocalState 之类的路径。
  • 尝试将其写入您的桌面。
  • @elgonzo 路径很好......它在镜头本身上有所不同,但它们在 DevicePortal 中显示这样的路径
  • 你有什么错误吗?

标签: c# visual-studio unity3d hololens


【解决方案1】:

我通常使用FileStreamStreamWriter 并确保设置了FileMode.Create

更多方法请参见How to write text to a file

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 的 Windows.File(仅适用于 UWP),但您需要将 byte[] 作为输入。例如。 from here

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

File.WriteAllBytes(path, d);

【讨论】:

  • 非常感谢,在您的帮助下我成功了!
【解决方案2】:

最简单的做法是使用File.WriteAllText方法https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writealltext?view=netframework-4.7.2

显然有很多方法可行,但最好坚持最简单的解决方案。

【讨论】:

    猜你喜欢
    • 2021-01-22
    • 2017-03-21
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2021-11-14
    • 2018-05-26
    • 1970-01-01
    相关资源
    最近更新 更多