• 流:(I/O)输入输出流

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

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

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

    一:类:FileStream:文件流

    1.构造:一般用第三个重载
    FileStream stream = new FileStream("d:\test.txt"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读));
    第二个参数
    CreateNew 指定操作系统应创建新文件,如果文件存在则引发异常。
    Create 指定操作系统创建新文件,如果文件已存在则覆盖之。
    OPen 指定 操作系统应打开现有文件,如果文件不存在则抛出异常。
    OpenOrCreate 指定操作系统应打开文件,如果文件不存在则创建之。
    Truncate 指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。
    Append 若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。
     
    第三个参数
    Read 对文件的读访问,拥有读取权限。
    Write 对文件的写访问,拥有写入权限。
    ReadWrite 对文件的读访问和写访问,拥有读取和写入两个权限。 


    写路径的时候前面加@,或者写双斜杠 @"d: est.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.用法:

    一:读文件:
    //取出文件路径
    string path = openFileDialog1.FileName;

    //打开文件流
    //FileMode是打开模式 Open是打开文件 Append是追加 Create是创建 CreateNew创建新的
    //OpenOrCreate有打开,没有创建 Truncate打开文件清空
    //FileAccess 读或写
    FileStream fs = new FileStream(path,FileMode.OpenOrCreate,FileAccess.Read);

    //造二进制数组,长度是流的长度
    byte[] bf = new byte[fs.Length];

    //将文件中的数据读到二进制数组里面
    fs.Read(bf, 0, bf.Length);

    //将而进制转码为字符串显示
    richTextBox1.Text = Encoding.Default.GetString(bf);

    //关闭流
    fs.Close();

    二:写文件:
    //取文件路径
    string path = saveFileDialog1.FileName;

    //打开文件流
    FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write);

    //将字符串转换为二进制数组
    byte[] nr = Encoding.Default.GetBytes(richTextBox1.Text);

    //将而进制数组写入文件
    fs.Write(nr,0,nr.Length);

    //关闭流
    fs.Close();


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

    对话框:
    ColorDialog:颜色选择控件
    colorDialog1.ShowDialog();
    button1.BackColor = colorDialog1.Color;

    FolderBrowserDialog:文件夹选择控件
    folderBrowserDialog1.ShowDialog();
    label1.Text = folderBrowserDialog1.SelectedPath;

    FontDialog:字体样式选择控件
    fontDialog1.ShowDialog();
    label1.Font = fontDialog1.Font;

    openFileDialog:文件选择控件
    DialogResult dr = openFileDialog1.ShowDialog();
    if(dr == DialogResult.OK)
    {
    label1.Text = openFileDialog1.FileName;
    }

    限制打开的文件后缀:Filter = 文本文件|*.txt|所有文件|*.*;
    一个显示一个后缀是一组,添加另一组需要继续使用'|'

    saveFileDialog:保存路径选择控件
    saveFileDialog1.ShowDialog();
    label1.Text = saveFileDialog1.FileName;

  • 相关阅读:
    微众银行面试小总结
    关于撑开父容器高度的小探讨
    2015年9月阿里校招前端工程师笔试题
    高性能JavaScript 重排与重绘
    高性能JavaScript DOM编程
    纯CSS3动画实现小黄人
    JS+css3实现图片画廊效果总结
    新游戏《机械险境》
    Twitter "fave"动画
    fragment 与 activity
  • 原文地址:https://www.cnblogs.com/shi2172843/p/5848100.html
Copyright © 2020-2023  润新知