1、界面设计

<Window x:Class="A._4._2_文本文件读写练习.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:A._4._2_文本文件读写练习"
mc:Ignorable="d"
Title="文本文件读写练习" Height="250" Width="570">
<Grid Margin="0,0,2,0">
<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="210" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="259" AcceptsReturn="True"/>
<GroupBox x:Name="groupBox" Header="文件选择" HorizontalAlignment="Left" Margin="264,31,0,0" VerticalAlignment="Top" Height="64" Width="286">
<StackPanel HorizontalAlignment="Left" Height="34" Margin="0,0,-2,0" VerticalAlignment="Top" Width="276" Orientation="Horizontal">
<TextBlock x:Name="textBlock" TextWrapping="Wrap" Text="文件路径" Margin="0,10,0,0"/>
<TextBox x:Name="textBox1" TextWrapping="Wrap" Text="" Width="156" Margin="10,10,0,0"/>
<Button x:Name="button" Content="浏览" Width="46" Margin="10,10,0,0" Click="button_Click"/>
</StackPanel>
</GroupBox>
<GroupBox x:Name="groupBox1" Header="文件操作" HorizontalAlignment="Left" Margin="264,131,0,0" VerticalAlignment="Top" Height="61" Width="286">
<StackPanel HorizontalAlignment="Left" Height="41" Margin="0,0,-2,-2" VerticalAlignment="Top" Width="276" Orientation="Horizontal">
<Button x:Name="button1" Content="读取文件" Margin="40,10,0,10" Width="82" Click="button1_Click"/>
<Button x:Name="button2" Content="保存文件" Width="75" Margin="40,10,0,10" Click="button2_Click"/>
</StackPanel>
</GroupBox>
</Grid>
</Window>
2、功能实现
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace A._4._2_文本文件读写练习
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog fa = new OpenFileDialog();
fa.Filter = "所有文件|*.*|文本文件|*.txt|cs文件|*.cs";
fa.Multiselect = false;
if (fa.ShowDialog() == true)
{
this.textBox1.Text = fa.FileName;
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
string filepath = textBox1.Text;
if(File.Exists(filepath))
{
string[] readfile = File.ReadAllLines(filepath, Encoding.UTF8);
this.textBox.Text = string.Join("\n", readfile);
}
else
{
MessageBox.Show("文件不存在,请重新输入");
}
}
private void button2_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "";
sfd.InitialDirectory = @"C:\";//默认打开位置
sfd.Filter = "文本文件| *.txt";
sfd.ShowDialog();
string path = sfd.FileName;
if (path == "")
{
return;
}
using (FileStream fsWrite = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] buffer = Encoding.Default.GetBytes(textBox.Text);
fsWrite.Write(buffer, 0, buffer.Length);
MessageBox.Show("保存成功");
}
}
}
}