1、private void button1_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog();//显示颜色选择器
panel1.BackColor = colorDialog1.Color;//把取到的颜色赋值给panel
}

2、private void button2_Click(object sender, EventArgs e)
{
folderBrowserDialog1.ShowDialog();//显示文件夹选择器
label1.Text= folderBrowserDialog1.SelectedPath;//取文件的路径
}

3、private void button3_Click(object sender, EventArgs e)
{
//显示
fontDialog1.ShowDialog();字体样式选择控件
label2.Font = fontDialog1.Font;//取值
}

4、private void button4_Click(object sender, EventArgs e)
{
//设置能够打开什么类型的文件
openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";//这是两种
//显示
DialogResult dr = openFileDialog1.ShowDialog();

//取值
if (dr == DialogResult.OK)//加一个判断看是否选择
{
label3.Text = openFileDialog1.FileName;
}
}

5、saveFileDialog:保存路径选择控件  只能选择文件

private void button5_Click(object sender, EventArgs e)
{
DialogResult dr =saveFileDialog1.ShowDialog();

if (dr == DialogResult.OK)//加一个判断看是否选择

{
label4.Text = saveFileDialog1.FileName;

}

}

流:(I/O)输入输出流   二进制的数据

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

流的操作一般放在try catch  里面,操作文件网络容易出错

命名空间:

using System.IO;
using System.Text;//二进制转换需要的命名空间

一、类:FileStream:文件流

1、构造:一般用第三个重载

FileStream stream = new FileStream("d:\\test.txt"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读));

//造了一个文件流
// FileStream fs = new FileStream("E:\\aa.txt",FileMode.Open);//第三个第六个

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

FileStream fs = new FileStream("E:\\aa.txt", FileMode.Open,FileAccess.Read);

第三个参数(只读)
Read 对文件的读访问,拥有读取权限。
Write 对文件的写访问,拥有写入权限。
ReadWrite 对文件的读访问和写访问,拥有读取和写入两个权限。 

写路径的时候前面加@,或者写双斜杠 @"d:\test.txt"

2、属性

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

3、方法

Write(byte[]流的内容,int从第几个位置写,int写入长度);
参数,第一个二进制数组,第二个从哪个位置开始写一般从0开始,第三个写进去多长(一般用Length,需要强转为int)。
Read(byte[]存放读出流的空间,int从第几个位置读,int读多长);读文件
seek(int偏移量,SeekOrigin.Begin(从哪计算偏移量))调整流的当前位置,seek(0,seekOrigin.End),将光标移到末尾
Flush();清除缓存
Close();关闭流

4、用法(两种:读文件、写文件)

读文件:

private void button1_Click(object sender, EventArgs e)
{
//拖动一个控件openFileDialog到窗体
//显示工具
DialogResult dr = openFileDialog1.ShowDialog();
//取值
if (dr == DialogResult.OK)
{
//文件路径
string path = openFileDialog1.FileName;
//造文件流
FileStream fs = new FileStream(path,FileMode.Open);

//1、造一个二进制数组,用来存储读到的数据
byte[]sj=new byte[fs.Length];//流的长度
//2、将文件读取为二进制数据,放到二进制数组里面
fs.Read(sj,0,sj.Length);
//3、将二进制数据转为字符串
richTextBox1.Text= Encoding.Default.GetString(sj);
//流不能 读取 word 、表格等第三方做的
//关闭流
fs.Close();
}
}

写文件:

private void button2_Click(object sender, EventArgs e)
{
//拖动一个控件saveFileDialog到窗体
//显示选择文件对话框
DialogResult dr = saveFileDialog1.ShowDialog();
//去路径
if (dr == DialogResult.OK)
{
//文件路径
string path = saveFileDialog1.FileName;

//取出文本框中的内容
string nr= richTextBox1.Text;
//1、将字符串转为二进制数组
byte[] sj= Encoding.Default.GetBytes(nr);

//造一个文件流
FileStream fs = new FileStream(path,FileMode.Create);

//2、向文件里写数据
fs.Write(sj,0,sj.Length);
//关闭流
fs.Close();
}
}

二、 StreamWrite类:写入

private void button3_Click(object sender, EventArgs e)
{
//显示选择文件对话框
DialogResult dr = saveFileDialog1.ShowDialog();
//去路径
if (dr == DialogResult.OK)
{
//文件路径
string path = saveFileDialog1.FileName;

//取出文本框中的内容
string nr = richTextBox1.Text;
//1、将字符串转为二进制数组
// byte[] sj = Encoding.Default.GetBytes(nr);

//造一个文件流
FileStream fs = new FileStream(path, FileMode.Create);

//造一个streamwrite对象
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
//写入文件
sw.Write(nr);//自动转码
//关闭
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();

5个对话框和FileStream:文件流的更多相关文章

  1. C# Path类 FileStream(文件流) 与 File(文件) 读取的区别

    1.采用文件流读取数据是一点一点从文件中读取数据对内存的压力相对较小;而采用文件读取数据是一下全部读取过来对内存造成的压力相对较大 2.File读取: string str = @"E:\Q ...

  2. FileStream文件流的读取和写入(为以后聊天工具的设计基础)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  3. 02-大文件Copy(FileStream文件流类)

    static void Main(string[] args) { string source = @"e:\1.exe";//要移动文件的路径 大文件 string target ...

  4. FileStream文件流

    操作字节 文件流和文件的区别 文件不管大小,一次读写 文件流可以分块读写 //文件流的资源GC不会释放,所以需要使用using using (FileStream fsRead = new FileS ...

  5. FileStream类的使用(文件流)

    1.什么是FileStream类 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定为同步 ...

  6. c#Filestream类(文件流)

    0.创建文件流几种方法: File.Open("a.txt",FileMode.Create,FileAccess.ReadWrite); File.OpenWrite(" ...

  7. 文件流FileStream的读写

    1.FileStream文件流的概念: FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定 ...

  8. c#基础语言编程-文件流操作

    引言 在System.IO 命名空间下提供了一系列的类,我们可以通过相应的类进行文件.目录.数据流的操作. 1.File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 2.File ...

  9. .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化

    1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...

随机推荐

  1. 08--MOOC--C/C++ 根据年月日计算星期几

    计算任何一天是星期几的几种算法 一:常用公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也 ...

  2. 【sqli-labs】 less31 GET- Blind -Impidence mismatch -Having a WAF in front of web application (GET型基于盲注的带有WAF注入)

    标题和less30一样 http://192.168.136.128/sqli-labs-master/Less-31/login.php?id=1&id=2" ")闭合的 ...

  3. (转)OpenLayers3基础教程——OL3之Popup

    http://blog.csdn.net/gisshixisheng/article/details/46794813 概述: 本节重点讲述OpenLayers3中Popup的调用时实现,OL3改用O ...

  4. Super Poker II UVA - 12298 FFT_生成函数

    Code: #include<bits/stdc++.h> #define maxn 1000000 #define ll long long #define double long do ...

  5. BZOJ 1146: [CTSC2008]网络管理Network 带修改主席树_树套树_DFS序

    Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路 ...

  6. day8 面向对象编程基础

    活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法. 把一组数据结构和处理它们的方法组成对象(object),把相同行为 ...

  7. 数据结构总结(UPDATING......)

    目标: 1.栈........√ 2.队列......√ 3.堆.........× 4.并查集...× 栈: #define MAXN 65536 struct stack{ int sz[MAXN ...

  8. 无法启用internet连接共享,为LAN连接配置的IP地址需要使用自动IP寻址

    热点不能用了,一直都不知道为什么,今天查了一些资料,终于知道了原因,是因为我安装了VMware Workstation Pro ,它生成了VMnet1和VMnet8所在的两个网段,这个网段就和热点共享 ...

  9. Shell、Xterm、Gnome-Terminal、Konsole简介(转)

    什么是Shell? 简单的说, Shell就是一个小程序,这个小程序可以接受来自键盘的命令并把这些命令发送到操作系统,再有系统来执行.在过去,在安装有Unix的计算机上,这是唯一的可用的交互式操作.而 ...

  10. Unable to read the project file &#39;client.csproj&#39;. Could not load file or assembly &#39;Microsoft.Build.En

    错误具体信息: Unable to read the project file 'client.csproj'. Could not load file or assembly 'Microsoft. ...