C# 读写Txt文件

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace CommonLib
{
    /// <summary>
    /// 文件的读写
    /// </summary>
    public class FileHelper
    {
        /// <summary>
        /// 使用FileStream类进行文件的读取,并将它转换成char数组,然后输出
        /// </summary>
        public void Read()
        {
            try
            {
                byte[] byData = new byte[100];
                char[] charData = new char[1000];

                FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
                file.Seek(0, SeekOrigin.Begin);
                file.Read(byData, 0, 100);
                //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
                Decoder d = Encoding.Default.GetDecoder();
                d.GetChars(byData, 0, byData.Length, charData, 0);
                Console.WriteLine(charData);
                file.Close();
            }
            catch (IOException e)
            {
                Console.WriteLine(e.ToString());
            }
        }

        /// <summary>
        /// 使用StreamReader读取文件,然后一行一行的输出
        /// </summary>
        /// <param name="path"></param>
        public void Read(string path)
        {
            StreamReader sr = new StreamReader(path, Encoding.Default);
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line.ToString());
            }
        }

        /// <summary>
        /// 使用FileStream类创建文件,然后将数据写入到文件里
        /// </summary>
        public void Write()
        {
            FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
            //获得字节数组
            byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!");
            //开始写入
            fs.Write(data, 0, data.Length);
            //清空缓冲区、关闭流
            fs.Flush();
            fs.Close();
        }

        /// <summary>
        /// 使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件
        /// </summary>
        /// <param name="path"></param>
        public void Write(string path)
        {
            FileStream fs = new FileStream(path, FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
            //开始写入
            sw.Write("Hello World!!!!");
            //清空缓冲区
            sw.Flush();
            //关闭流
            sw.Close();
            fs.Close();
        }

    }
}

 

posted @ 2015-03-28 14:35  沙耶  阅读(311)  评论(0编辑  收藏  举报