惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - Tiger!

centos 中通过yum安装最新的mono access需要替换日文编码的函数 网上搜集的webbrower的资料,很有借鉴价值 本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。 转载 VB.NET编程调用迅雷下载文件(1) 进行网站建设,您应该想到的(zz) ASP常用的函数模块 Google AdSense 收藏几个有意思的SQL脚本(转载) C#/VB - Automated WebSpider / WebRobot 有人见过这么高的eCPM ? 一切都不象看起来那么严重 — 关于Fraud Clicks Google Adsense宝典: 如何合理地提高Google Adsense的收入 Google Adsense的致命伤 Google Adsense的无效点击 lucene倒排索引原理 DotLucene的一些知识(不完全总结) 基于.NET的开源搜索引擎-DotLucene(2) 基于.NET的开源搜索引擎-DotLucene(1)
C#常用的文件操作(网上收集)
Tiger! · 2007-10-24 · via 博客园 - Tiger!

C#常用的文件操作(网上收集)
C#写入/读出文本文件,包括创建文件,追加文件,修改文件,等等操作,个人觉得很适用,所以收藏了,和大家分享

public void Page_Load(Object src,EventArgs e)  
{  
   StreamWriter rw 
= File.CreateText(Server.MapPath(".")+"\\myText.txt");  
   rw.WriteLine(
"追逐理想");  
   rw.WriteLine(
"kzlll");  
   rw.WriteLine(
".NET笔记");  
   rw.Flush();  
   rw.Close();  
}
 
打开文本文件 
StreamReader sr 
= File.OpenText(Server.MapPath(".")+"\\myText.txt");  
StringBuilder output 
= new StringBuilder();  
string rl;  
while((rl=sr.ReadLine())!=null)  
{  
output.Append(rl
+"<br>");  
}
  
lblFile.Text 
= output.ToString();  
sr.Close();  
  
 
C#追加文件 
    StreamWriter sw 
= File.AppendText(Server.MapPath(".")+"\\myText.txt");  
    sw.WriteLine(
"追逐理想");  
    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);           
//调用函数删除文件夹  
}
  
</Script>  

 

 

 

 

 
// ======================================================
  
// 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
  
// 如果目标文件夹为只读属性就会报错。
  
// April 18April2005 In STU
  
// ======================================================
  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
  
// ======================================================
  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());
   }

  }

 

 

需要引用命名空间:
using System.IO;

/**//// <summary>
  
/// 拷贝文件夹(包括子文件夹)到指定文件夹下,源文件夹和目标文件夹均需绝对路径. 格式: CopyFolder(源文件夹,目标文件夹);
  
/// </summary>
  
/// <param name="strFromPath"></param>
  
/// <param name="strToPath"></param>


  
//--------------------------------------------------
  
//作者:明天去要饭  QQ:305725744
 
//---------------------------------------------------

  
public static void CopyFolder(string strFromPath,string strToPath)
  
{
   
//如果源文件夹不存在,则创建
   if (!Directory.Exists(strFromPath))
   
{    
    Directory.CreateDirectory(strFromPath);
   }
   

   
//取得要拷贝的文件夹名
   string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\"+ 1,strFromPath.Length - strFromPath.LastIndexOf("\\"- 1);   

   
//如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
   if (!Directory.Exists(strToPath + "\\" + strFolderName))
   
{    
    Directory.CreateDirectory(strToPath 
+ "\\" + strFolderName);
   }

   
//创建数组保存源文件夹下的文件名
   string[] strFiles = Directory.GetFiles(strFromPath);

   
//循环拷贝文件
   for(int i = 0;i < strFiles.Length;i++)
   
{
    
//取得拷贝的文件名,只取文件名,地址截掉。
    string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\"+ 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\"- 1);
    
//开始拷贝文件,true表示覆盖同名文件
    File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);
   }

  
   
//创建DirectoryInfo实例
   DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);
   
//取得源文件夹下的所有子文件夹名称
   DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
   
for (int j = 0;j < ZiPath.Length;j++)
   
{
    
//获取所有子文件夹名
    string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();   
    
//把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
    CopyFolder(strZiPath,strToPath + "\\" + strFolderName);
   }

  }