Unity C#从文本文件读入时识别\n
我有一个包含几行字符串的文本文件,例如“Commander”和“44105”。我正在将它们读入一个文件,然后在屏幕上显示它们。我需要在某些点上创建换行符,但当我在文本文件中使用时,\n程序似乎无法识别为新行,而只是在字符串上显示时在字符串中显示Unity C#从文本文件读入时识别\n,c#,io,unity3d,text-files,C#,Io,Unity3d,Text Files,我有一个包含几行字符串的文本文件,例如“Commander”和“44105”。我正在将它们读入一个文件,然后在屏幕上显示它们。我需要在某些点上创建换行符,但当我在文本文件中使用时,\n程序似乎无法识别为新行,而只是在字符串上显示时在字符串中显示 Reader = new StreamReader("Assets/CorrectAnswers.txt", Encoding.Default); while (!Reader.EndOfStream && turnOff == fals
Reader = new StreamReader("Assets/CorrectAnswers.txt", Encoding.Default);
while (!Reader.EndOfStream && turnOff == false)
{
lineReader = Reader.ReadLine();
if (problemIndex == questionIndex)
{
answer = lineReader;
turnOff = true;
}
questionIndex += 1;
}
那里的其他一切都很好,它只是不承认\n是一个特殊的角色。如果您能帮助我解决这个问题,我将不胜感激。好的,在澄清问题之后,下面是对您有用的方法
List<string> lines = new List<string>();
using (StreamReader reader = new StreamReader("Assets/test.txt"))
{
string lines = reader.ReadToEnd();
Debug.Log(lines);
var splitText = lines.Split(new string[] { "|" }, // "\\n" in your case
System.StringSplitOptions.RemoveEmptyEntries);
string result = String.Empty;
foreach (var dataEntry in splitText)
{
string dataToParse = dataEntry.Trim();
result += dataToParse + Environment.NewLine;
}
Debug.Log(result);
}
请注意,这两个注释行也适用于您,有关新行的更多信息,请查看以下链接:
我希望它能有所帮助,请注意:)我想你可能误解了我的问题-我并不是试图在一个文本文件中写入多个字符串,每个字符串都在自己的行上。相反,我试图读入一个包含换行符的长字符串,并让程序认识到,在字符串的这一点上,我想显示一个换行符。很抱歉,若我误解了你们的陈述。是的,我误解了这个问题,实际上我想知道你们想要实现的是这两件事中的哪一件:)我已经更新了我的答案,注意分隔符设置为“|”,但并没有理由不使用“\n”或任何其他字符串,只需确保数据中的某个位置不存在该字符串,如果使用反斜杠,则必须像“\\n”那样对其进行转义;)
List<string> dataToWrite = new List<string>(){
"firstLine", "secondLine", "thirdLine"};
using (StreamWriter writer = new StreamWriter("Assets/testWrite.txt"))
{
foreach (var line in dataToWrite)
{
writer.WriteLine(line);
//writer.Write(line + Environment.NewLine);
//writer.Write(line + "\r\n");
}
}