【问题标题】:read chars from file to array vb.net从文件读取字符到数组 vb.net
【发布时间】:2011-06-30 05:48:05
【问题描述】:

我需要读入的文件是一个 8x8 或 NxN 的正方形。字符由空格分隔,在行尾我相信是 crlf。当我尝试读取文件时,当我使用此代码时,我得到了 crlf:

Dim stream As New FileStream(fileNAME, FileMode.Open)
Dim reader As New StreamReader(stream)

Dim temparray() As String = reader.ReadToEnd.Split(" ")

我得到这样的东西temparray(7) "K B"

之后我需要做的是放入一个 8x8 或 NxN 样本文件的二维数组是 8x8

或者如果有办法将其放入二维数组而不首先使用一维数组,那就太好了。

示例文件:

A B R A E L R K

B R E D A A O L

C A R O T D I

H P N L K M I L

E P G A P P L E

E E O M N O K F

S L S R G A S A

E I F I S E H A

【问题讨论】:

  • 你知道有多少行吗? (我想这无关紧要,因为您总是可以根据文件大小计算行数......)
  • 顺便说一下,File.ReadAllText() 函数可能会让你的事情变得更简单。

标签: vb.net arrays file char multidimensional-array


【解决方案1】:

String.Split 可以采用您想要拆分的字符数组,因此您可以一次性处理空格和换行。

试试:

Dim temparray() As String = reader.ReadToEnd.Split(New Char() {" "c, vbCr, vbCrLf})

事实上,如果你为分隔符传递 null/Nothing,Split 将默认为任何空白字符。所以这也应该有效:

Dim temparray() As String = reader.ReadToEnd.Split(Nothing)

【讨论】:

  • 感谢您的快速回答。第一个工作。第二个仍然添加了crlf的
  • 我刚刚注意到,在每一行的前面都有一个空格,其中包含返回 temparray(8)= " B" 的字母,但第一行除外。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多