在 Hololens 上将数据写入文件
Writing Data into a File on Hololens
在我的 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);
}
}
最简单的方法就是使用File.WriteAllText
方法https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writealltext?view=netframework-4.7.2
显然有很多可行的方法,但最好坚持使用最简单的解决方案。
我通常使用 FileStream
和 StreamWriter
并确保 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 (only available for UWP) but than you need to have byte[]
as input. E.g. from here
long c = ts.Ticks;
byte[] d = BitConverter.GetBytes(c);
File.WriteAllBytes(path, d);
在我的 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);
}
}
最简单的方法就是使用File.WriteAllText
方法https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writealltext?view=netframework-4.7.2
显然有很多可行的方法,但最好坚持使用最简单的解决方案。
我通常使用 FileStream
和 StreamWriter
并确保 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 (only available for UWP) but than you need to have byte[]
as input. E.g. from here
long c = ts.Ticks;
byte[] d = BitConverter.GetBytes(c);
File.WriteAllBytes(path, d);