黑马程序员 IO

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

namespace io
{
    class program
    {
        static void Main(string[] args)
        {

            #region 文件读操作
            using (StreamReader sr = new StreamReader(@"E:\cdkey.txt", Encoding.GetEncoding("gb2312")))
             {
                 string a;
                 a = sr.ReadToEnd();//从当前位置直接读到文件尾
                 Console.WriteLine(a);

                 //用ReadLine 方法读取一个文件中的数据
                 while ((a = sr.ReadLine()) != null)
                 {
                     Console.WriteLine(a);
                 }
            } 
            #endregion


            #region 文件写操作
            using (StreamWriter sw = new StreamWriter(@"../../IO.txt",true))//第二个参数是否为文件执行追加操作
            {
                sw.WriteLine("123456");
            } 
            #endregion

            #region 文件流操作
            using (FileStream fs = new FileStream("..//..//IO.txt", FileMode.Open, FileAccess.ReadWrite))//第二个为对文件进行什么操作,第三个为操作权限
            {
                byte[] b=new byte[1024];//声明一个可以存储1kb数据的byte数组
                while (true)
	            {
                    int num=fs.Read(b, 0, b.Length);
                    if(num==0)
                        break;
                    fs.Write(b,0,num); 
	            }
            }
            #endregion
            List<Book> book=new List<Book>();
            book.Add(new Book("123"));
            book.Add(new Book("456"));
            #region 将流以二进制方式存储到存储类型上
            using (FileStream fs = new FileStream(@"../../IO.txt", FileMode.Append, FileAccess.Write))
            {
                
                BinaryFormatter bf = new BinaryFormatter();//进行二进制序列化,把内存的东西写序列化就是到硬盘
                bf.Serialize(fs, book);//将book中的数据存储以二进制形式到fs流中
            } 
            #endregion

            #region 文件夹操作
            Directory.CreateDirectory("../../Text");//创建文件夹
            if (Directory.Exists("../../Text"))//如果文件夹存在,就返回true
            {
                Directory.Delete("../../Text");//删除文件夹,如果文件夹下有子文件,报错,有
                Directory.Delete("../../Text", true);//永久删除文件夹和子文件,
            }
            Directory.Move("../../Text", "../Text");//移动文件夹,如果文件存在,者移动失败,如果文件名不同,者移动且改名
            string[] path= Directory.GetFiles("../../", "*.txt");//在文件夹下检索带有.txt的文件夹,返回符合条件的文件的路径
            #endregion

            #region 文件操作
            和文件夹操作类似,将Directory改成file即可
            File.Copy("../../IO.txt", "../IO.txt");//复制文件
            #endregion

            

            #region path类
            string path = Path.ChangeExtension("../IO.txt", ".mp3");//修改文件扩展名
            path = Path.Combine("E:\\", "Windows");//拼接字符串,更目录必须加:\\
            path = Path.GetDirectoryName("");//得到文件夹的路径
            path = Path.GetExtension("");//返回扩展名
            path = Path.GetFileName("");//得到文件名
            path = Path.GetFileNameWithoutExtension("");//返回不带扩展名的路径
            path = Path.GetFullPath("");//返回程序的完整路径(绝对路径)
            path = Path.GetPathRoot("");//返回更目录位置
            path = Path.GetTempPath();//返回临时文件夹的路径(当处理数据大,内存中存不下,可在这个文件下创建临时文件,把数据写入其中)
            path = Path.GetTempFileName();//在临时文件夹下创建一个唯一命名的文件
            #endregion


        }
    }
    [Serializable]
    class Book
    {
        private string name;
        public Book(string name)
        {
            this.name = name;
        }

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }

}

----------------------  ASP.Net+Unity开发 、. Net培训 、期待与您交流! ----------------------
详细请查看: http://edu.csdn.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值