C# 文件,文件夹的操作

 

C# 文件操作(文件夹 及 文件)

System.IO 类

目录操作
string[] drives = Directory.GetLogicalDrives(); //本地驱动器的名,如:C:/等
string path = Directory.GetCurrentDirectory();   //获取应用程序的当前工作目录
Path.GetFileName(@"c:/dir/file.txt");            //获取子目录的名字,result的结果是file.txt
Directory.GetFiles(路径及文件名)                 //获取指定目录中的文件名(文件列表)
DirectoryInfo di = new DirectoryInfo(@"f:/MyDir"); //构造函数创建目录
DirectoryInfo di=Directory.CreateDirectory(@"f:/bbs"); //创建对象并创建目录
if (di.Exists == false) //检查是否存在此目录
di.Create(); //创建目录
DirectoryInfo dis = di.CreateSubdirectory("SubDir"); //以相对路径创建子目录
dis.Delete(true); //删除刚创建的子目录
di.Delete(true); //删除创建目录

文件夹操作
Directory.Delete(@"f:/bbs2", true); //删除目录及其子目录和内容(如为假不能删除有内容的目录包括子目录)
Directory.GetDirectories 方法 //获取指定目录中子目录的名称
string[] dirs = Directory.GetDirectories(@"f:/", "b*"); 
Console.WriteLine("此目录中以b开头的子目录共{0}个!", dirs.Length);
foreach (string dir in dirs) { Console.WriteLine(dir); }
Directory.GetFileSystemEntries //获取指定目录中的目录及文件名
Directory.GetLogicalDrives //检索此计算机上格式为“<驱动器号>:/”的逻辑驱动器的名称,【语法同上】
Directory.GetParent //用于检索父目录的路径。
DirectoryInfo a = Directory.GetParent(path);
Console.WriteLine(a.FullName);Directory.Move //移动目录及其在内的所有文件
Directory.Move(@"f:/bbs/1", @"f:/bbs/2"); //将文件夹1内的文件剪到文件夹2内 文件夹2是刚创建的

 

Stream // 对字节的读写操作(包含对异步操作的支持) Reading Writing Seeking
BinaryReader和BinaryWriter // 从字符串或原始数据到各种流之间的读写操作
FileStream类通过Seek()方法进行对文件的随机访问,默认为同步
TextReader和TextWriter //用于gb2312字符的输入和输出
StringReader和StringWriter //在字符串中读写字符
StreamReader和StreamWriter //在流中读写字符
BufferedStream 为诸如网络流的其它流添加缓冲的一种流类型.
MemoryStream 无缓冲的流
NetworkStream 互联网络上的流

//编码转换
Encoding e1 = Encoding.Default;               //取得本页默认代码 
Byte[] bytes = e1.GetBytes("中国人民解放军"); //转为二进制
string str = Encoding.GetEncoding("UTF-8").GetString(bytes); //转回UTF-8编码

文本文件操作:创建/读取/拷贝/删除
using System;
using System.IO;
class Test 
{
   string path = @"f:/t.txt";
   public static void Main() 
    {       
      //创建并写入(将覆盖已有文件)
      if (!File.Exists(path))
       {          
         using (StreamWriter sw = File.CreateText(path))
          {
             sw.WriteLine("Hello");
          } 
       }
      //读取文件
      using (StreamReader sr = File.OpenText(path)) 
       {
         string s = "";
        while ((s = sr.ReadLine()) != null) 
         {
            Console.WriteLine(s);
         }
      }
     //删除/拷贝
     try 
      {
         File.Delete(path);
         File.Copy(path, @"f:/tt.txt");
      } 
     catch (Exception e) 
      {
         Console.WriteLine("The process failed: {0}", e.ToString());
      }
    }
}

//流文件操作
private const string name = "Test.data";
public static void Main(String[] args) 
{
     //打开文件()   ,或通过File创建立如:fs = File.Create(path, 1024)
     FileStream fs = new FileStream(name, FileMode.CreateNew);
     //转换为字节 写入数据(可写入中文)
     Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
    //字节数组,字节偏移量,最多写入的字节数
     fs.Write(info, 0, info.Length);
     w.Close();
     fs.Close();
    //打开文件
     fs = new FileStream(name, FileMode.Open, FileAccess.Read);
    //读取
     BinaryReader r = new BinaryReader(fs);
     for (int i = 0; i < 11; i++) 
     {
         Console.WriteLine(r.ReadInt32());
     }
     w.Close();
     fs.Close();
}

 

//C#写入/读出文本文件

   string fileName =@"c:/111.txt";
   StreamReader sr = new StreamReader(fileName);                      
   string  str=sr.ReadLine  ();                                                                                                                                    
   sr.close();                                       

   StreamWriter rw=File.CreateText(Server.MapPath(".")+"//myText.txt");
   rw.WriteLine("写入");
   rw.WriteLine("abc");
   rw.WriteLine(".NET笔记");
   rw.Flush();
   rw.Close();

//打开文本文件 
StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt");
StringBuilder output=newStringBuilder();
string rl;
while((rl=sr.ReadLine())!=null)
{
   output.Append(rl+"");
}

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
DirectoryInfod=Directory.CreateDirectory("c://sixAge");
//d1指向c:/sixAge/sixAge1
DirectoryInfod1=d.CreateSubdirectory("sixAge1");
//d2指向c:/sixAge/sixAge1/sixAge1_1
DirectoryInfod2=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"); 

时间: 2025-01-30 09:30:58

C# 文件,文件夹的操作的相关文章

asp的Fso文件/文件夹操作类

和前面提到的一样,这个也只是把一些函数压在一起.实际上用一些函数集的方法放程序中更好. 主要功能: 1,创建删除文件夹 2,获取某个文件夹里的文件夹名称和个数 3,获取某个文件夹里的文件名称和个数 4,检查某个文件夹是否存在 5,检查某个文件是否存在 6,删除文件 7,读取某个文件的内容 7,创建一个文件,并把内容写到这个文件里面 总的来说,功能就分两个,一个是文件操作,一个是文件夹操作.我只是根据我的那个"在线作业管理系统"的需求写的,并不适合所有人... <% '******

文件(文件夹)删除拷贝操作类

文件(文件夹)相关操作.以下各种讨论基于Windows+VC7.0开发环境. 实现文件(文件夹)操作的方式和函数多种多样,在这里我们只是很浅显讨论其中的一两中方法的应用.如果你想了解更多的请参考你编译系统的的帮助文件.也可以和我讨论: MSN:Ugg_xchj@hotmail.com 为了更好的对文件(文件夹)进行操作,我们先讲解一些基本知识.最后我们将实现一个基于我们自己方法的文件(文件夹)create,copy,delete等操作的类.,如果你对文件(文件夹)操作已经非常熟悉,可以跳过前边部

C# 对文件与文件夹的操作包括删除、移动与复制_C#教程

在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类.文件夹(Folder)是只在Windows操作系统中使用的名词.在操作系统的理论中,人们更习惯于使用目录(Directory)这个名词.或许微软为了有朝一日将.Net移植到其他的操作系统中(实际上也有很多人也在做着这个项目),所以还是以Directory来命名操作文件夹的类. File类和Directory类都是静态类.使用它们的好处

python中对文件、文件夹的操作

python中对文件.文件夹的操作需要涉及到os模块和shutil模块. 创建文件: 1) os.mknod("test.txt")       创建空文件 2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件 创建目录: os.mkdir("file")                   创建目录 复制文件: shutil.copyfile("oldfile",&quo

PHP 创建文件(文件夹)以及目录操作代码_php技巧

一.目录操作 首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 复制代码 代码如下: <?php $base_dir="filelist/"; $fso=opendir($base_dir); echo $base_dir."<hr/>"; while($flist=readdir($fso)){ echo $flist."<br/>";

win7删除文件时,提示“操作无法完成

win7删除文件时,提示"操作无法完成,因为其中的文件夹或文件已在另一程序中打开"问题 今天删除文件夹时,遇到这样的提示:操作无法完成,因为其中的文件夹或文件已在另一程序中打开.经过摸索,找到了问题所在(QQ.exe占用程序)和解决方案. 解决方案如下: (右键)Windows 7任务栏--启动任务管理器--性能--资源监视器--CPU选项卡--关联的句柄--搜索句柄--(输入)要删除的文件夹名--搜索到与文件夹名句柄相关联的进程(由于此程序进程正在调用文件夹,才造成了对该文件夹删除的

cmd move命令 移动文件(夹)_DOS/BAT

很多时候,我看到有人在回复"如何把文件从A处移动到B处"的时候,给出的建议往往是:先用copy命令复制文件,然后用del和rd删除文件和文件夹.回复者根本没有想到,他给出的操作流程太繁琐了,他根本没有意识到,系统已经提供了直接移动文件的命令move! move的使用非常简单,基本格式为 move A B.在这里,A表示你想要执行移动操作的文件或文件夹,B表示A被移动后保存的位置,而A可以使用相对路径,也可以使用绝对路径,甚至可以使用通配符,但是,在move执行移动文件的功能的时候,B只

iOS 文件及字符串相关操作汇总 - 持续更新中......

iOS 文件及字符串相关操作汇总 - 持续更新中...... 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 1.获取应用包中文件的绝对路径: NSString *absoluteFileNam

【万里征程——Windows App开发】文件&amp;amp;数据——读取文件/文件夹名

在上一节中我们学习了数据绑定,因为我个人对上一篇还是比较满意的,至少相对于前面的那些而言(我也知道前面写的太差了,后面还会继续修改的,博客也像软件一样嘛).这一节开始我们将陆续看到Windows App是怎样操作文件的. 在Windows上读取文件名.文件夹名 首先我们在XAML中定义一个Button和TextBlock,将读取文件/文件夹名的过程写在前者的click事件中,后者则用来显示文件信息. <Grid Background="{ThemeResource ApplicationP

Win7/win8删除文件提示&quot;目标文件/文件夹访问被拒绝&quot;解决办法

一,如果你文件打开的或被其它应用程序占用可以是无法删除,这个在windowsxp中也是这样的 二,如果不是那应该权限问题了,我们可参考下面方法解决. 访问文件/文件夹被拒绝提示如下图: 一.查看当前文件/文件夹的权限情况 鼠标右键该文件/文件夹,选择属性(Properties),如下图所示,可以看到示例文件C_PAN.GHO属于Everyone组,但权限仅限于读写和执行,但没有修改权限(添加删除修改),所以想删除就无法执行.实际中,你的权限可能不是下图样式,或是如下情况之一: 所有人为当然用户/