5个对话框和FileStream:文件流

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();

时间: 2024-10-03 13:20:21

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

java FileStream文件流操作

直接上代码,函数使用说明详见Java API文档 import java.io.*; public class StreamDemo { public static void main(String[] args) { File f=new File("F:\\workspace\\JavaPrj\\test.txt"); FileOutputStream out=null; try { out=new FileOutputStream(f); byte[] b=new String(

c#的FileStream文件流

文件流 FileStream.StreamReader和StreamWriter可以操作大文件; FileStream 操作字节;可以操作任何类型的文件: StreamReader和StreamWriter操作字符; FileStream 方法名 作用 参数 FileStream() 创建FileStream对象 第一个是路径,第二个是文件模式FIleMode枚举,第三个数据模式FileAcess Read() 分部分读取文件,返回实际读到的有效字节数,如果读得数量不是第三个参数指定的,就用空填

FileStream文件流

使用文件流拷贝一个较大的多媒体文件: public static void CopyFile(string soucre, string target) { using (FileStream fsRead = new FileStream(soucre, FileMode.Open, FileAccess.Read)) { using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.W

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

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 文件流 { class Program { static void Main(string[] args) { FileStream fsread = new FileStream(@"C:\Users\shuai

47.C#--使用FileStream文件流来实现多媒体文件的复制

static void Main(string[] args){//使用文件流来实现多媒体文件的复制//思路:先将要复制的多媒体文件读出来,然后再写入到指定位置//多媒体音乐源路径string source = @"C:\Users\Administrator.USER-20180925HC\Desktop\音乐.wav";//要复制多媒体音乐目标路径string target= @"C:\Users\Administrator.USER-20180925HC\Desktop

FrameWork:文件流操作

文件和流 绝对路径:E:\msd1508\Framework\Day05\Day05笔记.txt相对路径:从当前路径出发,到目的地的路径 假设当前路径是Day04 ..\Day05\Day05笔记.txt 网络路径 Using System.IO; File/FileSystemInfo 文件(文件操作方法) Directory/DirectoryInfo 目录(目录操作方法) DriveInfo 磁盘(磁盘操作方法) stream 流/抽象基类 FileStream 文件流/字节方法读写 St

文件流读写、大文件移动 FileStream StreamWriter

文件流读写 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace _09文件流 { class Program { static void Main(string[] args) { //string msg = "飞流直下三千尺"; ////字符串转字节数组 //byte[] buffer = System.Tex

文件流FileStream

FileStream对象表示在磁盘或网络路径上指向文件的流 使用 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作 FileStream 对输入输出进行缓冲,从而提高性能 为什么不用File.ReadAllText()? 好处之一就是:对于大文件来说,FileStream可以对文件采取分段读取,即每次只读取一部分到内存. using System; using System.Collections.Generic; using System.ComponentModel;

.Net学习笔记----2015-06-25(文件流FileStream)

文件流 将创建文件流对象的过程写在using当中,会自动的帮助我们释放流所占用的资源 //FileStream 操作字节的 //StreamReader和StreamWriter 操作字符的 FileStream fsRead = new FileStream(@"C:\Users\Administrator\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read); byte[] buffer = new byte[1024