码迷,mamicode.com
首页 > Windows程序 > 详细

43. C# -- 读取TXT文件的两种方法

时间:2015-05-27 19:22:27      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:c#

1.添加命名空间

  System.IO;

  System.Text;

2.文件的读取

  (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。

        public void Read()
        {          
           byte[] byData = new byte[100];        
           char[] charData = new char[1000];
            try
            {
                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());
            }
        }

(2).使用StreamReader读取文件,然后一行一行的输出。

public void Read(string path)
        {
            StreamReader sr = new StreamReader(path,Encoding.Default);
            String line;
            while ((line = sr.ReadLine()) != null) 
            {
                Console.WriteLine(line.ToString());
            }
        }

3.文件的写入
  (1).使用FileStream类创建文件,然后将数据写入到文件里。

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


  (2).使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。

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

整体代码:

using System;
using System.IO;
using System.Text;
public class Program
{
    public static void Main()
{
        Write("e:\\program.xml");
        Write2();
        Read("e:\\program.xml");
        Read2();
        Console.ReadLine();
}
    static  void Read2()
{
        try
{
            byte[] byData = new byte[100];
            char[] charData = new char[1000];
            FileStream file = new FileStream("e:\\program2.xml", 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());
}
}
    static void Read(string path)
{
        StreamReader sr = new StreamReader(path, Encoding.Default);
        String line;
        while ((line = sr.ReadLine()) != null)
{
            Console.WriteLine(line.ToString());
}
}
    static void Write2()
{
            FileStream fs = new FileStream("e:\\program2.xml", FileMode.Create);
            //获得字节数组
            byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!"); 
            //开始写入
            fs.Write(data, 0, data.Length);
            //清空缓冲区、关闭流
            fs.Flush();
            fs.Close();
}
    static 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();
}
}


结果:

Hello World!!!!

Hello World!

参考:

http://www.cnblogs.com/akwwl/p/3240813.html 

本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1655714

43. C# -- 读取TXT文件的两种方法

标签:c#

原文地址:http://57388.blog.51cto.com/47388/1655714

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!