文件IO的问题以及在VB.Net中使用Environment.NewLine拆分字符串
我正在尝试基本的VB.Net文件IO和字符串拆分.我遇到了这个问题.我不知道它是否与文件IO或字符串拆分有关.
我正在写文本到这样的文件 Dim sWriter As New StreamWriter("Data.txt") sWriter.WriteLine("FirstItem") sWriter.WriteLine("SecondItem") sWriter.WriteLine("ThirdItem") sWriter.Close() 然后,我正在从文件中读取文本 Dim sReader As New StreamReader("Data.txt") Dim fileContents As String = sReader.ReadToEnd() sReader.Close() 现在,我使用Environment.NewLine作为分隔符来拆分fileContents. Dim tempStr() As String = fileContents.Split(Environment.NewLine) 当我打印生成的数组时,我得到了一些奇怪的结果 For Each str As String In tempStr Console.WriteLine("*" + str + "*") Next 我在打印过程中将* s添加到Array项的开头和结尾,以了解发生了什么.由于NewLine用作分隔符,我希望Array中的字符串不具有任何NewLine.但输出是这个 – *FirstItem* * SecondItem* * ThirdItem* * * 不应该是这个 – *FirstItem* *SecondItem* *ThirdItem* ** ?? 除了第一个字符串之外,为什么除了第一个字符串之外还有一个新行? 更新:我通过fileContents的字符打印做了一个角色,得到了这个 – F - 70 i - 105 r - 114 s - 115 t - 116 I - 73 t - 116 e - 101 m - 109 - 13 - 10 S - 83 e - 101 c - 99 o - 111 n - 110 d - 100 I - 73 t - 116 e - 101 m - 109 - 13 - 10 T - 84 h - 104 i - 105 r - 114 d - 100 I - 73 t - 116 e - 101 m - 109 - 13 - 10 似乎’Environment.NewLine’由 - 13 - 10 13和10 ..我明白了.但两者之间的空白?我不知道它是否因为打印到控制台而来,或者真的是NewLine的一部分. 因此,在拆分时,只使用相当于ASCII值13的字符(即NewLine的第一个字符)作为分隔符(如回复中所述),其余内容仍然存在于字符串中.由于某种原因,上面列表中的神秘空白空间和ASCII值10一起导致打印一个新行. 现在很清楚了.谢谢您的帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |