你的位置:首页 > ASP.net教程

[ASP.net教程]文件读写,改进版


文件读写:需要实现的功能是:点击1,弹出文件打开对话框OpenFiledialog,选择要读取的文件,点击确定之后,把文件的路径显示在1上,然后点击读取,把文件的内容显示在3上面;

同理,文件的写入,我们在3中写好内容之后,点击2,弹出文件保存对话框SaveFiledialog,然后选择好路径之后,点击写入,就将我们在3中写好的内容,保存在指定的路径了。

 

现在实现功能:

 

  private void txtReadPath_Click(object sender, EventArgs e)    {      //打开文件对话框      using (OpenFileDialog openFileDialog = new OpenFileDialog())      {        if (openFileDialog.ShowDialog() == DialogResult.OK)        {          //显示文件的全路径          txtReadPath.Text = openFileDialog.FileName;        }      }    }    /// <summary>    /// 读取文件    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void btnNewRead_Click(object sender, EventArgs e)    {      //创建文件流(读文件的时候,FileMode选择Open)      using (FileStream fileRead = new FileStream(txtReadPath.Text,FileMode.Open))      {       //创建btpe数组        byte [] fileByte=new byte[fileRead.Length];        //把文件数据读取到数组中        fileRead.Read(fileByte, 0, fileByte.Length);        //现在将数据转化为string格式的数据,好显示在txt控件中,通过下面的方法把byte数组转化为string字符串        txtContent.Text= Encoding.Default.GetString(fileByte);      }    }

这部分就实现了读取文件的数据到文本框中,其中Encoding.Default.GetString这个方法只能,读取文本文件。不能读取Word,所谓文本文件就是可以用记事本打开的。

 Encoding.Default.GetString这个方法还有个问题,会乱码:

解决方法:
 txtContent.Text = Encoding.GetEncoding("utf-8").GetString(fileByte);
修正之后:


好了,下面开始文件的写入功能实现:






步骤:我们先在文本框中输入内容,然后点击第二个文本框,弹出保存对话框,我们选择路径,输入要保存的名字(带上后缀)。然后点击保存。
所有的代码如下:
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 FileReadDemo{  public partial class Form1 : Form  {    public Form1()    {      InitializeComponent();    }        private void txtReadPath_Click(object sender, EventArgs e)    {      //打开文件对话框      using (OpenFileDialog openFileDialog = new OpenFileDialog())      {        if (openFileDialog.ShowDialog() == DialogResult.OK)        {          //显示文件的全路径          txtReadPath.Text = openFileDialog.FileName;        }      }    }    /// <summary>    /// 读取文件    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void btnNewRead_Click(object sender, EventArgs e)    {      //创建文件流(读文件的时候,FileMode选择Open)      using (FileStream fileRead = new FileStream(txtReadPath.Text,FileMode.Open))      {       //创建btpe数组        byte [] fileByte=new byte[fileRead.Length];        //把文件数据读取到数组中        fileRead.Read(fileByte, 0, fileByte.Length);        //现在将数据转化为string格式的数据,好显示在txt控件中,通过下面的方法把byte数组转化为string字符串       //txtContent.Text= Encoding.Default.GetString(fileByte);  //这个方法会乱码、        txtContent.Text = Encoding.GetEncoding("utf-8").GetString(fileByte);      }    }    /// <summary>    /// 文件写入    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void textWritePath_Click(object sender, EventArgs e)    {      //创建文件保存对话框      using (SaveFileDialog saveFileDialog = new SaveFileDialog())      {        if (saveFileDialog.ShowDialog() == DialogResult.OK)        {          //全路径          textWritePath. Text = saveFileDialog.FileName;        }      }    }          private void btnWrite_Click(object sender, EventArgs e)    {      //将内容写入到指定的路径文件中      using (FileStream fileWrite = new FileStream(textWritePath.Text.Trim(),FileMode.Create))      {               //Write方法,需要传入Byte数组,这个时候,就有个问题了,我们在文本控件中,输入的内容是字符串的,不过同理,字串串也可以转化为byte数组        byte [] fileWriteByte=Encoding.GetEncoding("utf-8").GetBytes(txtContent.Text.Trim());        fileWrite.Write(fileWriteByte, 0, fileWriteByte.Length);      }    }        }}

 

 



九寨沟跟团旅游报价多少九寨沟旅游线路大全九寨沟旅游报价价格九寨沟旅游团购优惠深圳去九寨沟旅游报价稻城亚丁在哪里?稻城亚丁好玩吗? 2015年端午上映的电影有什么?端午有什么好看的电影? 毕业旅游去哪里好?2015年毕业去哪里玩 集美鳌园在哪里?怎么去? 旅游大事件:国人赴日赏樱,促日形成“樱花经济”[二] 旅游大事件:国人赴日本赏樱,促成“樱花经济”[二] 流溪河公园5月有什么好玩的?从化流溪河5月份有什么活动? 流溪河音乐节有哪些明星?2015从化流溪河公园活动介绍? 厦门十月份天气如何?穿什么衣服好? 北京九月份天气如何?穿什么衣服? 北京火车站 北京站 和北京西站的具体位置都在哪? 从广东茂名去湖南凤凰城旅游要花多少钱? 东部华侨城攻略?深圳东部华侨城坐几路巴士直达? 国内旅游艳遇的地方有哪些?哪里是艳遇高发地? 东部华侨城门票团购多少钱?深圳东部华侨城怎样更优惠? 一山一湖一古镇 梦回窑湾两千年 CY14E064L-SZ35XI Datasheet CY14E064L-SZ35XI Datasheet CY14E064L-SZ45XI Datasheet CY14E064L-SZ45XI Datasheet CY14E256L-SZ35XC Datasheet CY14E256L-SZ35XC Datasheet 阳江马尾岛 阳江马尾岛 阳江马尾岛 深圳杨梅坑住宿 深圳杨梅坑住宿 深圳杨梅坑住宿 中山公园郁金香 中山公园郁金香 中山公园郁金香