Windowsforms 中对话框,流文件操作

Posted Dream&er

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windowsforms 中对话框,流文件操作相关的知识,希望对你有一定的参考价值。

对话框:

1、颜色选择控件——ColorDialog

//显示颜色选择器   

colorDialog1.ShowDialog(); 

//把取到的颜色赋值给panel 

panel1.BackColor = colorDialog1.Color;

 

2、文件夹选择控件——FolderBrowserDialog

//显示文件夹选择器
folderBrowserDialog1.ShowDialog();
//把取到的文件夹用label1显示
label1.Text = folderBrowserDialog1.SelectedPath;

 

3、字体样式选择控件——FontDialog

//显示出来
fontDialog1.ShowDialog();
//选用字体样式改变label1字体样式
label1.Font = fontDialog1.Font;

4、文件选择控件——openFileDialog

  //设置打开类型的文件
  openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";

  //显示
  DialogResult dr = openFileDialog1.ShowDialog();

  //取值
  if (dr == DialogResult.OK)
  {
  label3.Text = openFileDialog1.FileName;
  }

5、保存路径选择控件——saveFileDialog

saveFileDialog1.ShowDialog();
label1.Text = saveFileDialog1.FileName;

 

 二、流  (I/O)输入输出流

分类:文件流,内存流,网络流

需要引用命名空间——using system .IO;

二进制转换需要的命名空间——using system .Text;

 

FileStream:文件流——一般用第三个重载方法

三个参数:1、路径2、打开模式3、访问方式

FileStream stream = new FileStream(@"d:\文件名.类型"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读)); 

第二个参数:

  • CreateNew ——指定操作系统应创建新文件,如果文件存在则引发异常。
  • Create——指定操作系统创建新文件,如果文件已存在则覆盖之。
  • OPen——指定 操作系统应打开现有文件,如果文件不存在则抛出异常。
  • OpenOrCreate——指定操作系统应打开文件,如果文件不存在则创建之。
  • Truncate——指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。
  • Append——若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。

第三个参数:

  • Read 对文件的读访问,拥有读取权限。
  • Write 对文件的写访问,拥有写入权限。
  • ReadWrite 对文件的读访问和写访问,拥有读取和写入两个权限。

属性:

  • Length:流的长度
  • Position:流的当前位置,探测光标的当前位置

用法:

1、读文件:

//显示工具
DialogResult dr = openFileDialog1.ShowDialog();
//取值
  if (dr == DialogResult.OK)
  {
  //文件路径
   string path = openFileDialog1.FileName;
  //造文件流
   FileStream fs = new FileStream(path,FileMode.Open);
  //造一个二进制数组,用来存储读到的数据
  byte[] sj = new byte[fs.Length];
  //将文件读取为二进制数据,放到二进制数组里面
  fs.Read(sj,0,sj.Length);
  //将二进制数据转为字符串
  richTextBox1.Text = Encoding.Default.GetString(sj);
  //关闭流
  fs.Close();
  }

2、写文件:

 //显示选择文件对话框
  DialogResult dr = saveFileDialog1.ShowDialog();
//取路径 if (dr == DialogResult.OK) { //文件路径 string path = saveFileDialog1.FileName; //取出文本框中的内容 string nr = richTextBox1.Text; //将字符串转为二进制数组 byte[] sj = Encoding.Default.GetBytes(nr); //造一个文件流 FileStream fs = new FileStream(path,FileMode.Create); //向文件里面写数据 fs.Write(sj,0,sj.Length); //关闭流 fs.Close(); }

3、StreamWrite类:

//取文件路径
 string path = saveFileDialog1.FileName;
//打开文件流 FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write); //第一种方式,使用流 StreamWriter sw = new StreamWriter(fs,Encoding.Default); //第二种方式,不使用流 StreamWriter sw = new StreamWriter(path,true,Encoding.Default); //将字符串写入文件 sw.Write(richTextBox1.Text); //关闭 sw.Close(); fs.Close();

StreamRead类:

//取文件路径
 string path = saveFileDialog1.FileName;
//打开文件流 FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write); //第一种方式,使用流 StreamReader sr = new StreamReader(fs,Encoding.Default); //第二种方式,不使用流 //StreamReader sr = new StreamReader(path,Encoding.Default); //读一行 richTextBox1.Text = sr.ReadLine(); //读所有 richTextBox1.Text = sr.ReadToEnd(); //关闭 sr.Close();

 

以上是关于Windowsforms 中对话框,流文件操作的主要内容,如果未能解决你的问题,请参考以下文章

来自程序集的资源作为流

ajax实战:(ajax异步下载文件)请求二进制流进行处理

2017-05-02winform弹出警告框是否进行增删改操作记事本制作对话框控件和输出输入流

5个对话框和FileStream:文件流

ApiAIPromises 未定义(离子 3,对话框流)

ajax post下载文件/流