目录
使用窗体应用程序读取文件的主要步骤:
1、添加命名空间
using System.IO;2、创建控件
(1)Button1:用于读取文件。
(2)Button2:用于将文件中的内容进行绘制(点)。
(3)Button2:用于将文件中的内容进行绘制(线)。
也可以添加其他控件,例如对文件内容进行展示、显示是否成功读取等,在这里不做介绍。
3、编写文件内容
这里使用空格来区分点的XY左边,空格之前为X值,之后为Y值,每个点之间进行换行。
4、编写代码
(1)Button1
string line = "";
StreamReader sr = new StreamReader("你的文件路径.txt"); // 读取文件所在路径
if (sr != null)
{
label1.Text = "文件读取成功,文件不为空!" + '\n';
while (!sr.EndOfStream) // 判读是否读完
{
line = sr.ReadLine(); // 读取一行
if (line != null)
{
string[] points = line.Split(' '); // 拆分当前行
foreach (string item in points) // 转换 string 为 int
{
//可以自定义的其他操作
}
}
}
}(2)Button2
Readdata()函数:
private void Readdata()
{
StreamReader str = new StreamReader(filePath);
string line;
while ((line = str.ReadLine()) != null)
{
label1.Text = "文件读取成功,文件不为空!" + '\n';
string[] Q = line.Split(' ');
double x, y;
x = Convert.ToDouble(Q[0]);
y = Convert.ToDouble(Q[1]);
PointF tmp_point = new PointF((float)(x), (float)(y));
//存入点列
PointList.Add(tmp_point);
}
str.Close();
}Button2的Click()事件:
Readdata();
Graphics graphics = pictureBox1.CreateGraphics();
string imgPath = "你的路径Point.png";
Image image = Image.FromFile(imgPath);
float num = PointList.Count;
for (int i = 0; i < num; i++)
{
float x = PointList[i].X;
float y = PointList[i].Y;
graphics.DrawImage(image, x, y);
}
(3)Button3
Button3的Click()事件:
Readdata();
Graphics graphics = pictureBox1.CreateGraphics();
Pen pen = new Pen(System.Drawing.Color.AliceBlue, 2);
float num = PointList.Count;
for (int i = 0; i < num; i++)
{
float x = PointList[i].X;
float y = PointList[i].Y;
if (i + 1 < num)
{
graphics.DrawLine(pen, PointList[i], PointList[i + 1]);
}
//else
//{
//}
}
5、注意事项
(1)注意添加命名空间,否则无法进行 StreamReader的定义。
(2)读取文件的方法有很多种,本文只介绍了一种。
(3)自定义的文件也可以使用其他方法进行分割,.Split()方法可以对自定义的符号进行字符串的分割。
原创作品,请勿抄袭。
版权声明:本文为weixin_56305254原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。