C#读取txt文件数据填入对应textbox中,txt文件数据用空格隔开的
时间: 2023-12-03 22:43:45 浏览: 183
可以使用StreamReader类来读取txt文件中的数据,并使用String.Split()方法将每行数据按空格分割成一个字符串数组,然后将数组中的每个元素填入对应的textbox中。
以下是一个简单的例子:
```csharp
using System.IO;
// 读取txt文件
using (StreamReader sr = new StreamReader("data.txt"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] data = line.Split(' '); // 按空格分割每行数据
textBox1.Text = data[0]; // 将第一个数据填入textbox1
textBox2.Text = data[1]; // 将第二个数据填入textbox2
// ...
}
}
```
需要注意的是,上述代码只能读取txt文件中的一行数据,并将其填入对应的textbox中。如果txt文件有多行数据,需要在循环中重复执行以上代码。同时,还需要确保txt文件中的数据格式正确,每行数据中的数据个数应与textbox个数相同。
相关问题
C#读取txt文件数字(数据用空格隔开)并且填入不同textbox中
可以使用以下代码读取txt文件中的数字,并将其填入不同的textbox中:
```csharp
string filePath = "path/to/your/file.txt";
string[] lines = File.ReadAllLines(filePath);
// 遍历每一行数据
foreach (string line in lines)
{
string[] values = line.Split(' '); // 使用空格分隔数据
for (int i = 0; i < values.Length; i++)
{
TextBox textBox = this.Controls.Find("textBox" + (i + 1), true).FirstOrDefault() as TextBox;
if (textBox != null)
{
textBox.Text = values[i]; // 将数据填入对应的textbox中
}
}
}
```
上述代码假设你有多个textbox,它们分别被命名为`textBox1`、`textBox2`、`textBox3`等。你可以根据自己的需要调整代码中的文件路径和textbox名称。
你现在是c#专家,请帮我用c#语言写一个wpf程序,它需要做到点击按键1,选择读取某一个文件夹下所有dat文件,并在textbox或text block或label中显示文件夹路径。点击按键2,实现该文件夹下所有dat文件的如下转换功能,读取每一行数据,这一行的每一列数据的分隔符从之前的多个空格或逗号或多个tab,全部替换为一个Tab。替换之后覆盖保存原文件。
好的,下面是用C#语言编写的WPF程序的示例代码,可以实现您的需求:
首先,在XAML文件中添加如下布局:
```xml
<Window x:Class="WpfApp1.MainWindow"
...
Title="文件转换工具" Height="250" Width="350">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="文件夹路径:" Margin="10" Grid.Row="0"/>
<TextBox x:Name="txtFolderPath" Margin="10" Grid.Row="1"/>
<Button Content="选择文件夹" Margin="10" Grid.Row="2" Click="Button_Click"/>
<Button Content="转换文件" Margin="10" Grid.Row="3" Click="Button_Click_1"/>
</Grid>
</Window>
```
接着,在MainWindow.xaml.cs文件中添加代码实现按键1和按键2的功能:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using Microsoft.Win32;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// 弹出文件夹选择对话框
var dlg = new OpenFileDialog();
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
dlg.Filter = "DAT Files (*.dat)|*.dat";
dlg.Multiselect = false;
dlg.ShowDialog();
// 显示选择的文件夹路径
txtFolderPath.Text = Path.GetDirectoryName(dlg.FileName);
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
// 获取文件夹路径
var folderPath = txtFolderPath.Text;
// 遍历文件夹下的所有DAT文件
foreach (var filePath in Directory.EnumerateFiles(folderPath, "*.dat"))
{
// 读取文件内容
var lines = File.ReadAllLines(filePath);
// 转换每一行的数据
var newLines = new List<string>();
foreach (var line in lines)
{
var columns = line.Split(new[] { ' ', ',', '\t' }, StringSplitOptions.RemoveEmptyEntries);
var newLine = string.Join("\t", columns);
newLines.Add(newLine);
}
// 覆盖保存原文件
File.WriteAllLines(filePath, newLines, Encoding.UTF8);
}
// 显示转换完成的消息框
MessageBox.Show("文件转换完成!");
}
}
}
```
这样,当用户点击按键1时,会弹出一个文件夹选择对话框,用户选择完成后会将选择的文件夹路径显示在文本框中;当用户点击按键2时,会遍历文件夹下的所有DAT文件,读取每一行数据并进行转换,最后覆盖保存原文件,完成文件转换。
阅读全文