读写文件

FileStream对象

  1、创建FileStream对象

带两个参数的构造函数:FileStream file = new FileStream(filename,FileMode.Member);

带三个参数的构造函数:FileStream file = new FileStream(filename,FileMode.Member,FileAccess.Member);

  1)FileMode成员

    (1)Append:如果文件存在,打开文件,流指向文件的末尾,只能与枚举FileAccess.Write联合使用。

           如果文件不存在,创建一个新文件。只能与枚举FileAccess.Write联合使用。

    (2)Create:如果文件存在,删除该文件,然后创建新文件。如果不存在,创建新文件

    (3)CreateNew:如果文件存在,抛出异常。如果不存在,创建新文件

    (4)Open:如果存在,打开现有的文件,流指向文件的开头。如果不存在,抛出异常

    (5)OpenOrCreate:如果文件存在,打开文件,流指向文件的开头。如果不存在,创建新文件

    (6)Truncate:打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期

  2)FileAccess成员

    (1)Read:打开文件,用于只读

    (2)Write:打开文件,用于只写

    (3)ReadWrite:打开文件用于读写

  2、文件定位

    FileStream访问文件指定位置用Seek()方法,该方法有两个参数,第一个参数是偏移量,第二个参数是起始位置,

    用SeekOrigin枚举表示,即Begin、Current、End。

    例: file.Seek(8,SeekOrigin.Begin);         //指向文件的第8个字节

       file.Seek(2,SeekOrigin.Current);     //从当前位置向后移动两个字节,即指向文件的第10个字节

       file.Seek(-5,SeekOrigin.End);          //指向文件的倒数第5字节

  3、FileStream读取文件

     FileStream读取文件用FileStream.Read()方法,该方法有三个参数,第一个参数是目标字节数组,第二个参数是目标字节数组的起始写入位置(通常是0),

      第三个参数是从文件中读取多少字节。

     例:

      file.Read(byData,0,3);             //读取3个字节

  4、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 FileStramDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
FileStream file = new FileStream("hello.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite);//1、创建文件流
StreamWriter writer = new StreamWriter(file);//2、创建文件写器
string strMessage=txtMessage.Text.Trim();
writer.Write(strMessage);//3、写入内容
writer.Close();//4、关闭写器
file.Close();//5、关闭文件流
}

private void button1_Click(object sender, EventArgs e)
{
FileStream file = new FileStream("hello.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
StreamReader reader = new StreamReader(file);
string strMessage = reader.ReadToEnd();
txtMessage.Text = strMessage;
reader.Close();
file.Close();
}
}
}

转载于:https://www.cnblogs.com/s-d-g/p/6031599.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值