如何解决使用.txt
好吧...我是编程界的新手。
说,...我在保存\加载一个数组时遇到问题。
目前,我已经完全找到了一种使用ArrayA的内容保存.txt文件的方法。
结果将是像这样的字符串“ 0,1,2,3,4”
但是我找不到使用该.txt文件设置使用该文件的ArrayB的方法。 我完全确定我缺少一些愚蠢的东西。
但是,如果其他人知道替代方法,我很愿意尝试其他方式(只要我能理解它们)。
EDIT1:
这是我用于创建保存文件的代码。
{
FileUtil.DeleteFileOrDirectory(Application.streamingAssetsPath + "/Ordini/" +
"Ordine" + ".txt");
string txtDocumentname = Application.streamingAssetsPath + "/Ordini/" +
"Ordine" + ".txt";
for (int i = 0; i < 500; i++)
{
OrdineArray += ArrayMenù.Array[i] + " ;";
}
if (!File.Exists(txtDocumentname))
{
File.WriteAllText(txtDocumentname,OrdineArray);
}
}
解决方法
让我们退后一步。有很多方法可以将(各种形式的)数据持久保存到文件中。
一种常见的惯用方法是序列化。再次有几乎无穷无尽的方法来序列化数据,但是 json 是一个很棒的现代序列化解决方案。
优势
- 很容易阅读
- 这很容易
- 关于图书馆的信息很多。
- 它可以满足大量复杂的自定义类型。
链接
-
Newtonsoft.Json https://www.nuget.org/packages/Newtonsoft.Json/
的 nuget
安装
Install-Package Newtonsoft.Json -Version 12.0.3
示例
var array = new[] {12,3,4,5};
// serialize it
var stringData = JsonConvert.SerializeObject(array);
// write to file
File.WriteAllText("FileName",stringData);
// read from file
var dataFromFile = File.ReadAllText("FileName");
// convert it back
var yourArrayAgain = JsonConvert.DeserializeObject<string[]>(dataFromFile);
// prove it
Console.WriteLine(string.Join(",",yourArrayAgain));
输出
12,5
,
首先,您需要阅读文件
string text = File.ReadAllText(txtDocumentname);
然后根据您的分隔符将其拆分为子字符串:
string[] fields = text.Split(';');
然后将字段转换为整数:
int[] integers = fields.Select( x => int.Parse(x) ).ToArray();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。