代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
对Windows文件/文件夹/目录操作
作者:
dezai
/ 发布于
2014/1/7
/
403
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为文件夹目录 System.IO.File.Open(path2, 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);
试试其它关键字
Windows文件操作
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
dezai
贡献的其它代码
(
1065
)
.
双色球
.
列出所有物理网络适配器
.
快乐数的 Python 实现
.
计算当月还剩天数
.
猜属相
.
二十四小时时钟
.
每日一语
.
很酷的日历
.
超长日历表单
.
最简单的时钟
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3