1.   在一个目录下创建一个文件夹

if (!System.IO.Directory.Exists(path))

System.IO.Directory.CreateDirectory(path);

String path=@”C:/新文件夹的名字”

2.   时间的字符串表示法   20080616091219

System.DateTime.Now.ToString("yyyyMMdd"), System.DateTime.Now.ToString("HHmmss")

DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")

3.   获取系统的特殊文件的路径

String path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

//有下划线的为Environment.SpecialFolder的枚举,还有很多

4.   拷贝一个文件到另一个目录下

System.IO.File.Copy(要拷贝的文件目录,目的目录);

注意:两个目录都要是具体的文件名,不能是文件夹。

5.   取当前程序集。EXE文件所在的绝对路径

String locationPath =

System.Reflection.Assembly.GetExecutingAssembly().Location

6.   取得运行中的程序名字和路径(和上面的结果一样)

System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8);

System.Reflection.Assembly.GetExecutingAssembly().CodeBase; 
的意思就是取得运行中的程序名字和路径 
但前面有file:///重要的格式 
file:///D:/Project/bin/Debug/WindowsApplication.EXE

System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8); 
的意思就是从第8位开始取得字符串 
D:/Project/bin/Debug/WindowsApplication.EXE

7.   将文件目录按/号分割开(如上例中的目录)

string[] strLoc;

strLoc = locationPath.Split('//');

想取到哪一级目录就取到哪一级目录

String  strParticalPath;

for (int j = 0; j < strLoc.Length - 1; j++)

{

strParticalPath += strLoc[j] + "//";

}

8.   打开某个文件夹/文件

System.Diagnostics.Process.Start(path);

path为文件夹目录

, FileMode.Open);

String path2=@”C:/新文件夹的名字/文件的名字”

9.   取得目录(m_path)下所有文件的文件名

//返回的是m_path目录里每一个.txt文件的完整的路径

//其中m_path为目录的完整路径

string[] fileName = System.IO.Directory.GetFiles(m_path,"*.txt");

//取得第一个.txt文件的路径

m_allFilePath = fileName[0];

//如果目录下还有子目录就用下面这个

string[] fileNames =System.IO.Directory.GetFiles(m_path,"*",SearchOption.AllDirectories);

10.             获取一个文件夹中所有文件的大小

long fileSize = 0;

string sOutDir = @"D:/data/CD01";

DirectoryInfo dirInfo = new DirectoryInfo(sOutDir);

foreach (FileInfo fileInfo in dirInfo.GetFiles())

{

fileSize += fileInfo.Length;

}

11.            DirectoryInfo.GetFiles();DirectoryInfo.GetDirectories();DirectoryInfo.GetFileSystemInfos()比较

DirectoryInfo dir = new DirectoryInfo(path);// path为文件夹路径

FileInfo[] a = dir.GetFiles();//获取路径下文件的名字

DirectoryInfo[] b = dir.GetDirectories();//获取路径下文件夹的名字

FileSystemInfo[] c = dir.GetFileSystemInfos();//获取路径下文件和文件夹的名字

12.             一个文件夹(包括子文件夹)中所有文件的个数

        public static int GetFileCount(string path)

{

System.IO.DirectoryInfo dir = new DirectoryInfo(path);

int count = dir.GetFiles().Length;

foreach (DirectoryInfo d in dir.GetDirectories())

{

count += GetFileCount(d.FullName);

}

return count;

}

13.             一个文件夹(包括子文件夹)中所有文件的大小

public static long FolderSize(string path)

{

   long Fsize = 0;

   try

   {

      FileInfo[] files = (new DirectoryInfo(path)).GetFiles();

      foreach (FileInfo file in files)

      {

         Fsize += file.Length;

      }

   DirectoryInfo[] folders = (new DirectoryInfo(path)).GetDirectories();

      foreach (DirectoryInfo folder in folders)

      {

         Fsize += FolderSize(folder.FullName);

      }

    }

    catch (Exception ex)

    {

       return Fsize;

    }

    return Fsize;

 }

14.             文件读写操作

Static void Main(string[] args)

{

const string filePath = @””;

FileStream fs = null;

try

{

Console.WriteLine(“开始往文件中写内容”);

fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);

byte[] bytes = Encoding.Default.GetBytes(“这是一个字符串,将插入到文本文件中”);

//向流中写入指定的字节数组

fs.Write(bytes, 0, bytes.Length);

//将缓存区的内容存储到媒体并清除缓存区。

fs.Flush();

//将流指针移到开头

fs.Seek(0, SeekOrigin.Begin);

byte[] bytes2 = new byte[bytes.Length];

fs.Read(bytes2, 0, bytes.Length);

string str = Encoding.Default.GetString(bytes2);

Console.WriteLine(“从文件中读出的字符串为” + Environment.NewLine+str);

}

catch(IOException ex)

{

Console.WriteLine(“发生的文件处理的错误!” + ex.Message);

}

finally

{

Console.WriteLine(“不论是否发生异常,都会执行finally到这里”);

if(fs != null)

{

fs.Close();

}

Console.ReadLine();

}

}

15.             生成一个.txt文件,并往里写一串字符串。

fileName = @"C:/a.txt";

FileStream mystream = new FileStream(fileName, FileMode.OpenOrCreate);

StreamWriter Mywriter = new StreamWriter(mystream, Encoding.Default);

string text = "";

Mywriter.Write(text);

Mywriter.Close();

mystream.Close();

16.             删去某个文件

// m_allFilePath为文件的完整路径,包括后缀

System.IO.File.Delete(m_allFilePath);

【CITE】C#目录、文件、文件夹操作的更多相关文章

  1. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  2. [No000083]文件与文件夹操作

    #region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...

  3. PHP 文件夹操作「复制、删除、查看大小」递归实现

    PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...

  4. [Python] 目录和文件操作

    在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import o ...

  5. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等

    此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...

  6. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  7. C# 文件和文件夹操作

    一.文件操作 1.File类的常用静态方法: void AppendAllText(string path, string contents),将文本contents附加到文件path中 bool E ...

  8. C#路径/文件/目录/I/O常见操作汇总<转载>

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  9. iOS开发——Swift篇&文件,文件夹操作

    文件,文件夹操作   ios开发经常会遇到读文件,写文件等,对文件和文件夹的操作,这时就可以使用NSFileManager,NSFileHandle等类来实现. 下面总结了各种常用的操作:   1,遍 ...

  10. Python的文件与文件夹操作

    Python的文件与文件夹操作 Python OS模块 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件 :os.listdir(pa ...

随机推荐

  1. ActiveMQ点对点的消息发送案例

    公司最近会用MQ对某些业务进行处理,所以,这次我下载了apache-activemq-5.12.0-bin把玩下. 基于练习方便需要,使用Windows的版本. 参考的优秀文章: activemq的几 ...

  2. TCP连接的状态详解以及故障排查

    我们通过了解 TCP各个状态 ,可以排除和定位网络或系统故障时大有帮助. 一.TCP状态 LISTENING :侦听来自远方的TCP端口的连接请求 . 首先服务端需要打开一个 socket 进行监听, ...

  3. JAVA 实战练习

    1.判断变量是否为奇数偶数. package com.JAVA; import java.util.Scanner; public class text { public static void ma ...

  4. 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...

    原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射 ...

  5. Linux系统下如何配置SSH?如何开启SSH

    查询\安装SSH服务 1.登陆linux系统,打开终端命令.输入 rpm -qa |grep ssh 查找当前系统是否已经安装 2.如果没有安装SSH软件包,可以通过yum  或rpm安装包进行安装( ...

  6. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案

    安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\product\11.2 ...

  7. [SAP ABAP开发技术总结]屏幕跳转

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. 请求webservice接口的某方法数据

    NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.com/xxx/xxxxWS?wsdl"]; NSString *soapMs ...

  9. bzoj 2957: 楼房重建 线段树

    2957: 楼房重建 Time Limit: 10 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 小A的楼房外有一大片施 ...

  10. 基于jQuery的移动轮播图(支持触屏)

    移动轮播图我看到两款, 一款是无线天猫的m.tmall.com,实现了无缝轮播. 一款是蘑菇街的,没有实现无缝轮播. 我自己重写一个,类似蘑菇街 <!doctype html> <h ...