如果已经有这个问题的答案我提前道歉;如果是这样,请将它链接起来(我看过了,顺便说一句!我只是找不到与我的具体例子相关的任何内容):)
我有一个文本(.txt
)文件,其中包含1.10.100.0.200
形式的数据,其中1,10,100,0和200是存储游戏地图地形布局的数字。此文件有多行1.10.100.0.200
,其中每一行代表地图中的一个地形项。
以下是我想知道的事情:
如何找出有多少行,所以我知道在阅读地图文件时要创建多少条地形?
我应该使用什么方法来获得1,10,100,0和200中的每一个:
E.g。当我在运行时将文件转换为地图地形时,我可能会使用terrainitem1.Location = New Point(x, y)
或terrainitem1.Size = New Size(p, q)
命令,其中x
,y
,p
和{{ 1}}是与地形的位置或大小相关的整数或双精度。然后,我会在1,10,100,0和200中找到q
,x
等,如果说y
等于1,x
到10并且等等?
如果不清楚,我很抱歉,请问我,我会尝试解释。
N.B。我正在使用VB.NET WinForms
答案 0 :(得分:0)
如果不打开文件并阅读其内容,就无法知道文件有多少行。
你没有表明你对此有多远。你知道如何打开文件吗?
这里有一些基本代码可以做你想要的。 (对不起,这是C#,但VB中的想法是一样的。)
string line;
using (TextReader reader = File.OpenText(@"C:\filename.txt"))
{
// Read each line from the file (until null returned)
while ((line = myTextReader.ReadLine()) != null)
{
// Get each number in line (as string)
string[] values = line.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
// Convert each number to integer
id = int.Parse(values[0]);
height = int.Parse(values[1]);
width = int.Parse(values[2]);
x = int.Parse(values[3]);
y = int.Parse(values[4]);
}
}