文件流FileStream

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

namespace FileOperation
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //选择文件框
        private void btnOpenFile_Click(object sender, EventArgs e)
        {
            //new 选择文件框 对象
            OpenFileDialog ofd = new OpenFileDialog();
            //设置选择文本框的起始位置---桌面
            ofd.InitialDirectory = @"C:\Users\lantian\Desktop";
            //用户点击确认
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                //保存当前选择文件的路径,显示在文本框
                txtOpenFilePath.Text = ofd.FileName;
            }
        }
        /// <summary>
        /// 保存文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSaveFile_Click(object sender, EventArgs e)
        {
            //获取多行文本的内容
            string strContent = txtInPut.Text;

            //实例化 FileStream---导入命名空间using System.IO;
            //参数:文件路径,制定操作系统打开文件的方式Create----有则覆盖,无则创建
            //凡是和网络,文件操作相关的,都应该(1)try...catch(2)销毁,用using
            using (FileStream fs = new FileStream(txtOpenFilePath.Text,FileMode.Create))
            {
                //创建字符数组,并指定字符数组的大小1024*1024*4,相当于4M
                //byte[] byteText=new byte[1024*1024*4];

                //字符串转换成字节数组----Encoding.UTF8.GetBytes这个方法。
                byte[] byteText = Encoding.UTF8.GetBytes(strContent);

                //参数:要写入到文件的数据数组,从数组的第几个开始写,一共写多少个字节
                fs.Write(byteText,0,byteText.Length);

                MessageBox.Show("保存成功!");
            }
        }
        /// <summary>
        /// 读取文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnReadFile_Click(object sender, EventArgs e)
        {
            //创建文件流(文件路径,文件操作方式.打开)
            using (FileStream fs = new FileStream(txtOpenFilePath.Text, FileMode.Open))
            {
                //创建一个容量4M的数组
                byte[] byteText = new byte[1024 * 1024 * 4];

                //从文件中读取数据写入到数组中(数组对象,从第几个开始读,读多少个)
                //返回读取的文件内容真实字节数
                int length =fs.Read(byteText,0,byteText.Length);

                //如果字节数大于0,则转码
                if (length > 0)
                {
                    //将数组转以UTF-8字符集编码格式的字符串
                    txtInPut.Text = Encoding.UTF8.GetString(byteText);
                    MessageBox.Show("读取成功");
                }
            }
        }
    }
}

  

文件流FileStream

时间: 2024-10-12 08:11:11

文件流FileStream的相关文章

C# 文件流 FileStream

  使用FileStream 好处 对内存影响小 读取数据 FileStrame fsRead = new FileStrame(@"C:\a.txt", FileMode.OpenOrCreate, FileAccess.Read);byte[] buffer = new byte[1024*1024*5];//最多读取的大小//返回本次实际读取到的有效字节数int t = fsRaad.Read(buffer, 0 , buffer.Length); //将字节数组中的每一个元素按

.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

c#的FileStream文件流

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

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();//显示文

.NET中的IO操作之文件流

读操作 //1.创建文件流 FileStream fsRead =new FileStream("1.txt",FileMode.Open); //2.创建缓冲区,正常情况下,是不会直接等于文件大小的.这里只有读,所以就这么干了. byte[] bytes =new byte[fsRead.Length]; //3.开始读取, 返回值是读取到的长度. int r =fsRead.Read(bytes,0,bytes.Lenght); //4.关闭释放流 fsRead.Close();

文件流(二)

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO; namespace 文件流{public partial class Form1 : Form { public

C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)

一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件:复制代码 //文件流:读取 FileStream fileStream = File.Open(@"D:\test.txt", FileMode.Open);//初始化文件流 byte[] array = new byte[fileStream.Length];//初始化字节数组,用来暂存读取到的字节 fileStream.Read(array, 0, array.Length);/

C# 文件流的常用方法

// 打开文件选择图片 private void btnChoseImage_Click(object sender, EventArgs e) { OpenFileDialog objFiledialog = new OpenFileDialog(); DialogResult result= objFiledialog.ShowDialog(); if (result==DialogResult.OK) { this.pbStu.Image = Image.FromFile(objFiled

文件流读写、大文件移动 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