了解C#文件操作

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

namespace FileOperate
{
    class Program
    {
        static void Main(string[] args)
        {
            ////文件打开,下面的代码打开D:\Xing.txt文件,并且向文件中写入"hello" 
            //FileStream textFile = File.Open(@"D:\Xing.txt", FileMode.Append);  //以Append方式打开文件(如果不存在,会创建) 
            
            //byte[] info = {(byte) 'h', (byte) 'e', (byte) 'l', (byte) 'l', (byte) 'o'}; //要写入的信息
            //textFile.Write(info,0,info.Length);   //Write方法只能写入byte数组
            //textFile.Close();//关闭文件流

            ////文件创建
            //FileStream newText = File.Create(@"D:\HangText.txt");  //创建文件
            //newText.Close();   //关闭文件

            ////删除文件
            //File.Delete(@"D:\HangText.txt");

            ////文件复制,如果目标文件存在,不允许复制(即不能覆盖同名文件)
            //File.Copy(@"D:\Xing.txt",@"D:\Hang.txt");

            ////文件移动,只能在同一个盘中移动,如果目标路径不正确,不能移动
            //File.Move(@"D:\Hang.txt", @"D:\Xing\Hang.txt");

            ////设置文件属性为只读,隐藏
            //File.SetAttributes(@"D:\Xing.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);  //同时满足多个属性,必须用位或(|). 

            ////  判断文件是不是存在 
            //if (File.Exists(@"D:\Xing.txt")) //如果存在  即便是隐藏的文件也可以找到 
            //{
            //    File.SetAttributes(@"D:\Xing.txt", FileAttributes.ReadOnly); //重新设置属性后,隐藏的文件也会显示出来,只要不加Hidden属性 
            //    Console.WriteLine("找到文件Xing.txt");
            //}
            //else
            //{
            //    Console.WriteLine("没有找到文件Xing.txt");
            //}
            //Console.Read();

            // /* 
            //此外,File类对于Text文本提供了更多的支持。 
            //AppendText:将文本追加到现有文件 
            //CreateText:为写入文本创建或打开新文件 
            //OpenText:打开现有文本文件以进行读取 
            //但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下的代码对txt文件进行操作。 
            //对txt文件进行“读”操作,示例代码如下:   
            //*/ 
            //StreamReader textReader = new StreamReader(@"D:\Xing.txt", System.Text.Encoding.Default); //以默认编码方式打开文件 
            //string str = textReader.ReadToEnd();//读取文件 
            //Console.WriteLine("使用StreamReader读取文本内容:"+str);
            //textReader.Close();
            //Console.Read();

            ////对txt文件写内容,会对文件内容进重写
            //StreamWriter textWriter =new StreamWriter(@"D:\Xing.txt");
            //string str="Learn .Net";
            //textWriter.Write(str);
            //textWriter.Close();

            /* 
             * System.IO.Directory类和System.DirectoryInfo类 
             * 主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。
             * */
            //Directory.CreateDirectory(@"D:\Xing\Hang");  //创建目录(文件夹)如果已经存在,则保持;还可以一次创建多级目录 

            ////目录属性设置方法 
            //DirectoryInfo dirInfo = new DirectoryInfo(@"D:\Xing\Hang");
            //dirInfo.Attributes = FileAttributes.Hidden; // | FileAttributes.ReadOnly;//设置文件夹属性 

            //Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。 
            //如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。
            //Directory.Delete(@"D:\Xing", true);

            //Directory.Move(@"d:\wang1", @"d:\wang3");//把文件夹wang1移动到文件夹wang3中,相当于把wang1删除,创建一个wang3,再把内容移动到wang3 

            //string[] Directories = Directory.GetDirectories(@"D:\Hang"); //获得文件夹Hang的目录 
            //foreach (string str in Directories)
            //{
            //    Console.WriteLine(str);
            //}
            //Console.Read();

            string[] Files = Directory.GetFiles(@"D:\Hang"); //获取文件夹Hang下面的所有文件 
            foreach (string str in Files)
            {
                Console.WriteLine(str);
            }
            if(Directory.Exists(@"D:\Hang"))
                Console.WriteLine("文件夹Hang存在");
            /* 
             在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\”。 
                 所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。 
             */ 
            Console.Read();
        }
    }
}

 

读取txt文件行:

            var fileName = AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + "加密后100w.txt";
            var txt = "";
            // 创建一个 StreamReader 的实例来读取文件 
            // using 语句也能关闭 StreamReader
            using (StreamReader sr = new StreamReader(fileName))
            {
                string line;
                // 从文件读取并显示行,直到文件的末尾 
                while ((line = sr.ReadLine()) != null)
                {
                    txt += line;
                }
            }

 

 

 

其它参考:http://www.cnblogs.com/wanghonghu/archive/2012/07/04/2574579.html

posted @ 2015-12-12 22:17  BloggerSb  阅读(308)  评论(0编辑  收藏  举报