C#读取txt数据到数组中.txt
根据提供的文件信息,我们可以从中提炼出以下几个重要的C#知识点: ### 1. 文件对话框(OpenFileDialog) 在C#中,`OpenFileDialog`是用于让用户选择文件的一个对话框控件。它通常与Windows窗体应用程序一起使用。在这个例子中,通过`openFileDialog1.ShowDialog()`方法显示了一个文件选择对话框,并通过`DialogResult`来判断用户是否选择了某个文件。 #### 代码解析 ```csharp if (openFileDialog1.ShowDialog() != DialogResult.Cancel) { // 用户选择了文件,进行后续操作 } ``` ### 2. 使用StreamReader读取文件 `System.IO.StreamReader`类提供了从文本文件中读取数据的功能。在这个例子中,首先创建了一个`StreamReader`对象来打开并读取指定路径的文件。 #### 代码解析 ```csharp System.IO.StreamReader readFile = new System.IO.StreamReader(FileName); ``` ### 3. 获取文件行数 为了统计文件中的行数,可以使用`StreamReader.ReadLine`方法。该方法每次调用都会返回一行内容,直到文件末尾。这里通过一个循环来逐行读取文件,每读取一行就将计数器`line_total`加一。 #### 代码解析 ```csharp int line_total = 0; while (readFile.ReadLine() != null) { line_total++; } textBox3.Text = line_total.ToString(); ``` ### 4. 将文件内容存储到数组或列表中 在本例中,使用了`List<string[]>`来存储文件中的每一行数据。具体来说,每行数据被分割成字符串数组,然后存储到列表中。这样可以通过索引访问列表中的每一行数据。 #### 代码解析 ```csharp List<string[]> list = new List<string[]>(); while (!readFile.EndOfStream) { string[] line = readFile.ReadLine().Split(' '); string[] arr = new string[line.Length]; for (int i = 0; i < line.Length; i++) { arr[i] = Convert.ToString(line[i]); } list.Add(arr); } string[][] shuzu = list.ToArray(); textBox4.Text = shuzu[0][5]; ``` ### 5. 文件指针定位 `BaseStream.Seek`方法用于设置当前文件流的位置。这在读取文件时非常有用,特别是在需要重新读取文件的开头时。 #### 代码解析 ```csharp readFile.BaseStream.Seek(0, System.IO.SeekOrigin.Begin); ``` ### 总结 以上就是从给定的文件信息中提取的关键知识点。通过这些知识点的学习,你可以更好地理解如何使用C#处理文本文件,包括文件的读取、文件对话框的使用以及如何将文件内容转换为数组或列表以便于进一步处理。这些技能对于开发桌面应用程序或进行文件操作非常有用。希望这些知识点能够帮助你在实际项目中更加熟练地使用C#。
{
if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
{
FileName = openFileDialog1.FileName;
System.IO.StreamReader readfile = new System.IO.StreamReader(FileName);
readfile.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);
int line_total=0;//总行数
while (readfile.ReadLine() != null)
{
line_total++;
}
textBox3.Text = line_total.ToString();
readfile.BaseStream.Seek(0,System.IO.SeekOrigin.Begin);
// string line = readfile.ReadLine();
List<string[]> list = new List<string[]>();
while (!readfile.EndOfStream)
{
string[] line = readfile.ReadLine().Split(' ');
string[] arr = new string[line.Length];
for (int i = 0; i < line.Length; i++)
{
- 粉丝: 2
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页