C#.net磁盘管理以及文件操作

时间:2022-06-05 14:31:41

原文发布时间为:2008-08-08 —— 来源于本人的百度文章 [由搬家工具导入]

   需要引入的命名空间:

using System.IO;
using System.Text;

private DirectoryInfo di;
private FileInfo fi;

文件与文件夹 FileSystemInfo

文件 FileInfo

文件夹 DirectoryInfo

创建文件

FileInfo fi=new FileInfo(path);
           if (!fi.Exists)
               fi.Create();

创建文件夹
DirectoryInfo    di = new DirectoryInfo(path);
            if (!di.Exists)
                di.Create();

删除文件夹 di.Delete();

删除文件 fi.Delete();

移动文件夹 di.MoveTo(newpath);

移动文件 fi.MoveTo(newfpath);

重命名文件夹 di.MoveTo(newfpath); 【原路径相同,只是文件名字不同】

重命名文件 fi.MoveTo(newfpath);【原路径相同,只是文件名字不同】

复制文件: fi.CopyTo(newfpath);

复制文件夹:

protected void dirCopy(string oldpath,string newpath)
    {
         di = new DirectoryInfo(oldpath);
        foreach(FileSystemInfo fsi in di.GetFileSystemInfos())
        {
            if(fsi is FileInfo)
            {
                fi = (FileInfo)fsi;
                if(!Directory.Exists(newpath))
                {
                   DirectoryInfo newDir= Directory.CreateDirectory(newpath);
                   fi.CopyTo(newDir.FullName+");
                }            
                else
               {
                   fi.CopyTo(newpath+");
               }
            }
            else
            {
                DirectoryInfo child_di=(DirectoryInfo)fsi;
                string olddir=child_di.FullName;
                string dirname=child_di.FullName.Substring(child_di.FullName.LastIndexOf(");
                string newchildpath=Path.Combine(newpath,dirname);
                if(!Directory.Exists(olddir))
                    Directory.CreateDirectory(olddir);
                dirCopy(olddir,newchildpath);
            }

        }
    }

文件的编辑:

FileStream fs = new FileStream(fpath,FileMode.Create, FileAccess.Write);
        StreamWriter sw = new StreamWriter(fs, Encoding.Default);
        sw.WriteLine(information);
        sw.Close();
        fs.Close();

文件的读取:

File.ReadAllText(fpath,Encoding.Default);

文件及文件夹的一些属性获取:

di = new DirectoryInfo(fpath);
            foreach (FileSystemInfo fsi in di.GetFileSystemInfos())
            {
                if (fsi is FileInfo)
                {
                    FileInfo fi = (FileInfo)fsi;
                    fname = fi.Name;
                    if (fi.Extension.Length < 1)
                        fexp = "";
                    else
                        fexp = fi.Extension.Remove(0, 1);
                    fsize = fi.Length.ToString();
                    ftime = fi.LastWriteTime.ToString();
                }
                else
                {
                    di = (DirectoryInfo)fsi;
                    fname = di.Name;
                    fexp = "文件夹";
                    fsize = "";
                    ftime = di.LastWriteTime.ToString();
                }
……

}