C#对于文件操作

ExpandedBlockStart.gif 代码
// C#追加文件 
StreamWriter sw  =  File.AppendText(Server.MapPath( " . " ) + " \\myText.txt " ); 
sw.WriteLine(
" onlose " ); 
sw.WriteLine(
" kzlll " ); 
sw.WriteLine(
" .NET笔记 " ); 
sw.Flush(); 
sw.Close(); 

// C#拷贝文件 
string  OrignFile,NewFile; 
OrignFile 
=  Server.MapPath( " . " ) + " \\myText.txt "
NewFile 
=  Server.MapPath( " . " ) + " \\myTextCopy.txt "
File.Copy(OrignFile,NewFile,
true ); 

// C#删除文件 
string  delFile  =  Server.MapPath( " . " ) + " \\myTextCopy.txt "
File.Delete(delFile); 

// C#移动文件 
string  OrignFile,NewFile; 
OrignFile 
=  Server.MapPath( " . " ) + " \\myText.txt "
NewFile 
=  Server.MapPath( " . " ) + " \\myTextCopy.txt "
File.Move(OrignFile,NewFile); 

// C#创建目录 
//  创建目录c:\sixAge 
DirectoryInfo d = Directory.CreateDirectory( " c:\\sixAge " ); 
//  d1指向c:\sixAge\sixAge1 
DirectoryInfo d1 = d.CreateSubdirectory( " sixAge1 " ); 
//  d2指向c:\sixAge\sixAge1\sixAge1_1 
DirectoryInfo d2 = d1.CreateSubdirectory( " sixAge1_1 " ); 
//  将当前目录设为c:\sixAge 
Directory.SetCurrentDirectory( " c:\\sixAge " ); 
//  创建目录c:\sixAge\sixAge2 
Directory.CreateDirectory( " sixAge2 " ); 
//  创建目录c:\sixAge\sixAge2\sixAge2_1 
Directory.CreateDirectory( " sixAge2\\sixAge2_1 " ); 

// 递归删除文件夹及文件 
<% @ Page Language = C# %>  
<% @ Import  namespace = " System.IO " %>  
< Script runat = server >  
public   void  DeleteFolder( string  dir) 

    
if  (Directory.Exists(dir))  // 如果存在这个文件夹删除之 
    { 
        
foreach ( string  d  in  Directory.GetFileSystemEntries(dir)) 
        { 
            
if (File.Exists(d)) 
                File.Delete(d); 
// 直接删除其中的文件 
             else  
                DeleteFolder(d); 
// 递归删除子文件夹 
        } 
        Directory.Delete(dir); 
// 删除已空文件夹 
        Response.Write(dir + "  文件夹删除成功 " ); 
    } 
    
else  
        Response.Write(dir
+ "  该文件夹不存在 " );  // 如果文件夹不存在则提示 


protected   void  Page_Load (Object sender ,EventArgs e) 

    
string  Dir = " D:\\gbook\\11 "
    DeleteFolder(Dir); 
// 调用函数删除文件夹 

 // ======================================================
  // 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
  // 如果目标文件夹为只读属性就会报错。
  // April 18April2005 In STU
  // ======================================================

 

ExpandedBlockStart.gif 代码
public   static   void  CopyDir( string  srcPath, string  aimPath)
{
    
try
    {
        
//  检查目标目录是否以目录分割字符结束如果不是则添加之
         if (aimPath[aimPath.Length - 1 !=  Path.DirectorySeparatorChar) 
            aimPath 
+=  Path.DirectorySeparatorChar;
        
//  判断目标目录是否存在如果不存在则新建之
         if ( ! Directory.Exists(aimPath)) 
            Directory.CreateDirectory(aimPath);
        
//  得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
        
//  如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
        
//  string[] fileList = Directory.GetFiles(srcPath);
         string [] fileList  =  Directory.GetFileSystemEntries(srcPath);
        
//  遍历所有的文件和目录
         foreach ( string  file  in  fileList)
        {
            
//  先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
             if (Directory.Exists(file))
                CopyDir(file,aimPath
+ Path.GetFileName(file));
            
//  否则直接Copy文件
             else
                File.Copy(file,aimPath
+ Path.GetFileName(file), true );
        }
    }
    
catch  (Exception e)
    {
        MessageBox.Show (e.ToString());
    }
}

 

  // ======================================================
  // 实现一个静态方法将指定文件夹下面的所有内容Detele
  // 测试的时候要小心操作,删除之后无法恢复。
  // April 18April2005 In STU
  // ======================================================

 

ExpandedBlockStart.gif 代码
public   static   void  DeleteDir( string  aimPath)
{
    
try
    {
        
//  检查目标目录是否以目录分割字符结束如果不是则添加之
         if (aimPath[aimPath.Length - 1 !=  Path.DirectorySeparatorChar) 
            aimPath 
+=  Path.DirectorySeparatorChar;
        
//  得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
        
//  如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
        
//  string[] fileList = Directory.GetFiles(aimPath);
         string [] fileList  =  Directory.GetFileSystemEntries(aimPath);
        
//  遍历所有的文件和目录
         foreach ( string  file  in  fileList)
        {
            
//  先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
             if (Directory.Exists(file))
            {
                DeleteDir(aimPath
+ Path.GetFileName(file));
            }
            
//  否则直接Delete文件
             else
            {
                File.Delete (aimPath
+ Path.GetFileName(file));
            }
        }
        
// 删除文件夹
        System.IO .Directory .Delete (aimPath, true );
    }
    
catch  (Exception e)
    {
        MessageBox.Show (e.ToString());
    }
}

 

 

转载于:https://www.cnblogs.com/casystem/articles/1632039.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值