C#控件使用小汇总【一】OpenFileDialog与SaveFileDialog
前言:
本人在校学生,刚接触到c#开发没多久,慢慢积累了一些写代码的经验。随着所学内容增加,渐微察觉大脑不够用,所以开通博客,一来整理学习所得,二来交流分享。
文件流的内容有很多,今天整理的是文本文件的文件流存储。
首先,必须导入系统命名空间:
using System.IO;
OpenFileDialog
提供一个打开文件管理器的窗口,并选择文件。声明方法:
OpenFileDialog f1 = new OpenFileDialog();
或者也可以直接使用控件。
SaveFileDialog
提供一个存储文件的窗口,并选择文件存储位置。这里使用调用控件的方法:
//文件类型筛选
saveFileDialog1.Filter = "文本文件|*.txt";
文件流StreamWriter
提供文件流的读取写入操作,声明方法:
StreamReader s = new StreamReader(textBox1.Text, Encoding.Default);
//创建文件流,Encoding.Default表示以默认编码方式读取文件
小应用:编写一个简单的记事本程序,用到上述方法
先看效果图:
按钮说明以及图片说明
“选择文件”按钮将打开文件选择对话框,待选择好文件后,四个textbox会显示出相应的文件信息。
“读取”按钮将会将文件内容以文件流的形式读取到RichTextbox中。
“保存”按钮功能可以和“另存为”按钮合并,这里就跳过。
“另存为”按钮将打开文件保存对话框,待选择好文件路径后点击“保存”可以保存到相应位置。
代码区
using System.Windows.Forms;
using System.IO;
using System.Windows;
namespace wen_jian_liu
{
public partial class File : Form
{
public File()
{
InitializeComponent();
}
private void button5_Click(object sender, EventArgs e)
{
OpenFileDialog f1 = new OpenFileDialog();
f1.Title = "选择文件";//打开文件对话框标题
f1.Filter = "文本文件(*.txt)|*.txt|图像文件(*.jpg,*.bmp,*.png)|*.jpg;*.bmp;*.png";//文件类型筛选
if (f1.ShowDialog() == DialogResult.OK)//选择文件后点击打开按钮
{
this.textBox1.SelectedText = f1.FileName;
this.textBox2.SelectedText = f1.SafeFileName;
this.textBox3.SelectedText = f1.Title;
this.textBox4.SelectedText = f1.Filter;
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("空路径!");
}
else
{
StreamReader s = new StreamReader(textBox1.Text.Trim(), Encoding.Default);//创建文件流,Encoding.Default表示以默认编码方式读取文件
richTextBox1.Text = s.ReadToEnd();//将读取内容放至richTextBox1中
s.Close();
s.Dispose();
}
}
private void button3_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "文本文件|*.txt";//文件类型筛选
if (saveFileDialog1.ShowDialog()==DialogResult.OK)//选择文件路径后点击保存按钮
{
string txtpath = saveFileDialog1.FileName;
StreamWriter s = new StreamWriter(txtpath, true, Encoding.Default);
s.WriteLine(richTextBox1.Text);//将richTextBox1.Text以字符流存入
s.Close();
s.Dispose();
MessageBox.Show("文件已保存至:" + txtpath, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
}
小结
文件流开启后使用完毕,为了避免资源浪费以及出现文件占用情况,应当使用
Close();
Dispose();
释放资源