C#.net磁盘管理以及文件操作
原文发布时间为:2008-08-08 —— 来源于本人的百度文章 [由搬家工具导入]
需要引入的命名空间:
using System.IO;
using System.Text;
private DirectoryInfo di;
private FileInfo fi;
文件与文件夹 FileSystemInfo
文件 FileInfo
文件夹 DirectoryInfo
创建文件
FileInfo fi=new FileInfo(path);
if (!fi.Exists)
fi.Create();
创建文件夹
DirectoryInfo di = new DirectoryInfo(path);
if (!di.Exists)
di.Create();
删除文件夹 di.Delete();
删除文件 fi.Delete();
移动文件夹 di.MoveTo(newpath);
移动文件 fi.MoveTo(newfpath);
重命名文件夹 di.MoveTo(newfpath); 【原路径相同,只是文件名字不同】
重命名文件 fi.MoveTo(newfpath);【原路径相同,只是文件名字不同】
复制文件: fi.CopyTo(newfpath);
复制文件夹:
protected void dirCopy(string oldpath,string newpath)
{
di = new DirectoryInfo(oldpath);
foreach(FileSystemInfo fsi in di.GetFileSystemInfos())
{
if(fsi is FileInfo)
{
fi = (FileInfo)fsi;
if(!Directory.Exists(newpath))
{
DirectoryInfo newDir= Directory.CreateDirectory(newpath);
fi.CopyTo(newDir.FullName+");
}
else
{
fi.CopyTo(newpath+");
}
}
else
{
DirectoryInfo child_di=(DirectoryInfo)fsi;
string olddir=child_di.FullName;
string dirname=child_di.FullName.Substring(child_di.FullName.LastIndexOf(");
string newchildpath=Path.Combine(newpath,dirname);
if(!Directory.Exists(olddir))
Directory.CreateDirectory(olddir);
dirCopy(olddir,newchildpath);
}
}
}
文件的编辑:
FileStream fs = new FileStream(fpath,FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
sw.WriteLine(information);
sw.Close();
fs.Close();
文件的读取:
File.ReadAllText(fpath,Encoding.Default);
文件及文件夹的一些属性获取:
di = new DirectoryInfo(fpath);
foreach (FileSystemInfo fsi in di.GetFileSystemInfos())
{
if (fsi is FileInfo)
{
FileInfo fi = (FileInfo)fsi;
fname = fi.Name;
if (fi.Extension.Length < 1)
fexp = "";
else
fexp = fi.Extension.Remove(0, 1);
fsize = fi.Length.ToString();
ftime = fi.LastWriteTime.ToString();
}
else
{
di = (DirectoryInfo)fsi;
fname = di.Name;
fexp = "文件夹";
fsize = "";
ftime = di.LastWriteTime.ToString();
}
……
}
最新文章
- [转]正确配置Linux系统ulimit值的方法
- Android响应式界面开发要点
- 中文分词系列(二) 基于双数组Tire树的AC自动机
- Storm系列(十二)架构分析之Worker-心跳信息处理
- 转:堆(heap)和栈(stack)有什么区别??
- MyBatis调用Oracle的存储过程
- NS_ASSUME_NONNULL_BEGIN 延伸
- 网页设计——3.html运行原理,基本标签
- Note of Python Math
- 快速启动神器 Wox
- C++ 语法--变量和常量
- Go语言学习之路(持续更新中)
- Linux系统磁盘满解决方案
- sqlserver linux 容器运行
- Python学习---JSON学习180130
- 修改gnome-shell扩展“Applications Menu”的菜单区域宽度。
- HOST文件配置
- CentOS修改IP地址及关闭/打开防火墙
- zend 和 esftp插件开发大型PHP项目,ZEND最常用快捷键
- 在 WPF 中的线程
热门文章
- 讲课笔记1——meta标签、表格标签
- Perl 使用哈希的引用
- SniperOJ-leak-advanced-x86-64
- common-fileupload上传图片并显示图片
- SpringBoot整合升级Spring Security 报错 【The request was rejected because the URL was not normalized】
- 看结果,测试?java中的String类 字符串拆分成字符串数组 判定邮箱地址 字符串比较 参数传递?
- class extension、class category、class-continuation category
- 高德定位腾讯定位在APP上无法开启定位权限的解决方案
- React初识整理(二)--生命周期的方法
- UVa-1368-DNA序列