【CITE】C#目录、文件、文件夹操作
1. 在一个目录下创建一个文件夹
if (!System.IO.Directory.Exists(path))
System.IO.Directory.CreateDirectory(path);
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#目录、文件、文件夹操作的更多相关文章
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- [No000083]文件与文件夹操作
#region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...
- PHP 文件夹操作「复制、删除、查看大小」递归实现
PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...
- [Python] 目录和文件操作
在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import o ...
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- C# 文件和文件夹操作
一.文件操作 1.File类的常用静态方法: void AppendAllText(string path, string contents),将文本contents附加到文件path中 bool E ...
- C#路径/文件/目录/I/O常见操作汇总<转载>
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- iOS开发——Swift篇&文件,文件夹操作
文件,文件夹操作 ios开发经常会遇到读文件,写文件等,对文件和文件夹的操作,这时就可以使用NSFileManager,NSFileHandle等类来实现. 下面总结了各种常用的操作: 1,遍 ...
- Python的文件与文件夹操作
Python的文件与文件夹操作 Python OS模块 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件 :os.listdir(pa ...
随机推荐
- UIEdgeInsetsMake, CGRectOffset等API参数详解
1, UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right ) 2,position点是相对suerL ...
- 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败 解决方法
访问IIS元数据库失败 同理,给操作系统的新建用户赋予IIS操作权限同样可以采用该命令来处理 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错 ...
- 互联网扫描器 ZMap 完全手册
初识 ZMap ZMap被设计用来针对整个IPv4地址空间或其中的大部分实施综合扫描的工具.ZMap是研究者手中的利器,但在运行ZMap时,请注意,您很有 可能正在以每秒140万个包的速度扫描整个IP ...
- ①创建项目testpackage ②在pack2.B中添加方法f ③在类A中添加如下三个成员变量:int型的私有变量i float型的变量f double型的公有变量d 在pack1.B的main方法中为对象a的成员变量f和d分别赋值为2和3 在pack2.C的main方法中为对象a的成员变量d赋值为3
package pack1; public class A { private int i; float f; public double d; public float getF() { retur ...
- Java-基础编程(螺旋矩阵&乘法表)
package cn.rick.study; import java.io.BufferedReader;import java.io.InputStreamReader;import java.ut ...
- Cheatsheet: 2015 01.01~ 01.31
JAVA JVM Architecture Improving Lock Performance in Java 10 Best Java Tools That Every Java Programm ...
- JS中 window.location 与window.location.href的区别
疑惑:window.location='url' 与window.lcoation.href='url'效果一样,都会跳转到新页面,区别在哪?查得的资料如下: 1:window.location是页 ...
- Dbcp2抛出org.apache.commons.dbcp2.LifetimeExceededException
三月 24, 2016 5:16:33 下午 org.apache.commons.dbcp2.BasicDataSource onSwallowException 警告: An internal o ...
- [SAP ABAP开发技术总结]面向对象OO
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- HDU1045 Fire Net(DFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045 Fire Net Time Limit: 2000/1000 MS (Java/Others) ...