码迷,mamicode.com
首页 > 其他好文 > 详细

c#文件之读操作摸索学习

时间:2014-08-14 23:24:56      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   io   文件   for   

主要知识点:

一. FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//只读权限打开1.txt文件

参数1:

"1.txt"文件路径,通常用字符串变量或者字符串常量表示,如:"d:\\1.txt";

参数2:

FileMode.Open打开模式,此种方式如果存在则打开,否则抛出异常。

FileMode.Append:追加模式,打开文件或新建文件并查找到文件尾,只能在FileAccess.Write权限下使用。

FileMode.Create:指定操作系统创建文件,如果已存在相同名称文件,则覆盖。

FileMode.CreateNew:指定操作系统创建文件,如果已存在相同名称文件,则抛出异常。

FileMode.OpenOrCreate:如果文件存在,则打开。如果不存在则新建一个文件。

FileMode.Truncate:打开现有文件,文件一旦被打开就被截断为0字节大小。

参数3:

FileAccess.Read只读写权限

FileAccess.ReadWrite:读写权限

FileAccess.Write:写权限

 二、StreamReader sr = new StreamReader(file_read,Encoding.Default);//获取读入流读取1.txt

参数1:

file_read获取文件流,即获取指定文件文件流,通常用字符串变量表示。

参数2:

Encoding.Default:获取操作系统的当前ANSI代码页的编码

Encoding.UTF8:获取UTF8格式的编码

Encoding.Unicode:获取Unocode格式的编码

Encoding.ASCII:获取ASCLL格式的编码

Encoding.Convert (Encoding, Encoding, Byte[]) :将一种编码方式转换成另一种编码方式。

Encoding.Convert (Encoding, Encoding, Byte[], Int32, Int32) :將某一范围内由一种编码方式转换成另一种编码方式。

 三、string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//读取文件内容所有行保存到字符串数组中。

四、string line = sr.ReadLine();//读取一行文件内容,从读入流获取内容。

 例子一:

核心方法:string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//读取文件内容所有行保存到字符串数组中

代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace studyread
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//新建文件流,只读权限打开1.txt文件

            string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//读取文件内容所有行保存到字符串数组中。

            //循环打印读入内容。
            for (int i = 0; i <= filelist.Length - 1; i++)
            {
                Console.WriteLine("第{0}行内容为:{1}", i, filelist[i]);
            }
            Console.ReadKey();
        }        
    }
}

运行截图:

bubuko.com,布布扣

 例子二:

 核心语句:string line = sr.ReadLine();//读取一行文件内容,从读入流获取内容。

代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace studyread
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//新建文件流,只读权限打开1.txt文件
            StreamReader sr = new StreamReader(file_read, Encoding.Default);//新建读入流取文件流 
           
            string line= sr.ReadLine();;//读取一行内存保存给字符串line
            Console.WriteLine(line);

            Console.ReadKey();
        }
    }
}

 运行截图:

bubuko.com,布布扣

 当然上列代码利用循环也可以将所有内容读取出来,达到例子一的效果。

修改源码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace studyread
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//新建文件流,只读权限打开1.txt文件
            StreamReader sr = new StreamReader(file_read, Encoding.Default);//新建读入流取文件流 

            string[] filelist = File.ReadAllLines("1.txt", Encoding.ASCII);//这里主要用来获取总行数filelist.Length
            string line;//定义字符串变量line,用来保存读取的内容

            //循环读取并打印文件每一行内容,即
            for (int i = 0; i <= filelist.Length - 1; i++)
            {
                line = sr.ReadLine();//读取一行内容保存到字符串line中。
                Console.WriteLine(line);
            }

            Console.ReadKey();
        }
    }
}

 程序截图:

bubuko.com,布布扣

附录记事本文件内容:

bubuko.com,布布扣

c#文件之读操作摸索学习,布布扣,bubuko.com

c#文件之读操作摸索学习

标签:style   blog   http   color   使用   io   文件   for   

原文地址:http://www.cnblogs.com/xingyunblog/p/3913371.html

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