c#文件操作的几个常用方法

c#根据绝对路径获取 带后缀文件名、后缀名、文件名
1、c#根据绝对路径获取 带后缀文件名、后缀名、文件名。
                string str =" F:\test\Default.aspx";
                string filename = System.IO.Path.GetFileName(str);//文件名 “Default.aspx”
                string extension = System.IO.Path.GetExtension(str);//扩展名 “.aspx”
                string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(str);// 没有扩展名的文件名 “Default”
2、c#根据绝对路径获取 带后缀文件名、后缀名、文件名,使用 Split 函数。
                string str = =" F:\test\Default.aspx";
                char[] delimiterChars = { '.', '\\' };
                string[] Mystr = str.Split(delimiterChars);
                string sheetName = Mystr[Mystr.Length - 2];);// 没有扩展名的文件名 “Default”

c#复制,剪切,删除的方法:

        /// <summary>
        /// 处理指定工作方式,只工作指定文件类型
        /// </summary>
        /// <param name="workWhat">[工作方式]目前支持 复制 剪切 删除</param>
        /// <param name="fromDir">[来自]</param>
        /// <param name="toDir">[到]</param>
        /// <param name="extension">工作文件扩展名</param>
        public void copyDir(string workWhat, string fromDir, string toDir, string extension)
        {
            string[] files = Directory.GetFiles(@fromDir);
            foreach (string file in files)
            {
                FileInfo fiE = new FileInfo(@file);
                //loading文本说明 赋值
                if (workWhat == "复制")
                {
                    if (fiE.Extension == extension)
                    {
                        File.Copy(@file, @toDir + "\\" + Path.GetFileName(@file), true);
                    }
                }
                else if (workWhat == "剪切")
                {
                    if (fiE.Extension == extension)
                    {
                        File.Move(@file, @toDir + "\\" + Path.GetFileName(@file));
                    }
                }
                else if (workWhat == "删除")
                {
                    if (fiE.Extension == extension)
                    {
                        File.Delete(@file);
                    }
                }
            }
            //子目录处理
            string[] dirs = Directory.GetDirectories(@fromDir);
            foreach (string dir in dirs)
            {
                if (!Directory.Exists(@toDir + "\\" + Path.GetFileName(@dir)))
                {
                    Directory.CreateDirectory(@toDir + "\\" + Path.GetFileName(@dir));
                }
                copyDir(workWhat, fromDir, @toDir + "\\" + Path.GetFileName(@dir), extension);
            }
            //使用
            //copyDir("复制", @"D:\", @"E:\receive", ".txt");
            //copyDir("剪切", @"D:\", @"E:\receive" , ".txt");
            //copyDir("删除", @"D:\", string.Empty, ".txt");
        }

 

posted @ 2011-12-15 14:38  shusheng.  阅读(633)  评论(0编辑  收藏  举报