我是新人。如果格式不正确或者我问一个愚蠢的问题,请原谅我。 (我正在使用Unity。当我运行它时,没有错误;但它似乎没有做任何事情,它不会打印到控制台。任何人都可以帮助我。我找不到很有帮助视频,因为他们使用从游戏对象而不是外部文本文件中检索文本。)
答案 0 :(得分:1)
您只是从文件中读取前两行,而不是整个文件。这是一个大大简化的版本,一次打印出每一行,我认为这是你想要做的:
string[] reader = System.IO.File.ReadAllLines( "Assets/Hats Table.txt" );
for ( int i = 0; i < reader.Length; i++ )
{
Debug.Log( "Primary key is " + i + ". The data is " + reader[i] + "\n");
}
答案 1 :(得分:0)
您的代码读取第一行,将字符串拆分为“@”(根本不使用字段),读取下一行,遍历itemsStrings中的每个字符并打印每个字符并继续(while循环)直到itemStrings为空。
我想你试图做的是逐行读取文本文件,用'@'分隔每一行并打印每行的字符串。
StreamReader reader = new StreamReader("./Assets/something.txt");
String itemStrings = reader.ReadLine();
char[] delimiter = {'@'};
while (itemStrings != null)
{
string[] fields = itemStrings.Split(delimiter);
for (int i = 0; i < fields.Length; i++)
{
Debug.Log("Primary key is " + i + ". The data is " + fields[i]);
}
itemStrings = reader.ReadLine();
}