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();
}
……
}
C#.net磁盘管理以及文件操作的更多相关文章
- Linux:Day7(下) 磁盘管理、文件系统管理
Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...
- 第7天【find命令、if语句、磁盘管理、文件系统管理】
find命令详解(01)_recv Find及文件特殊权限: 文件查找工具: Find Find [OPTON]…[查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径,默认为当前路径 ...
- arm-linux学习笔记3-linux内存管理与文件操作
配置好linux系统之后需要vim配置一下,有助于我们的编程,主要的配置如下 在/etc/vim/vimrc文件中 "显示行号 set number "自动缩进 set autoi ...
- Linux常用命令学习7---(磁盘管理df du、磁盘的分区和格式化fdisk parted)
1.磁盘管理 在服务器的维护中,我们需要关心服务器的磁盘使用了多少.还有多少的剩余空间.某个文件有多大.某个文件夹内的所有文件在一起一共占用的多少空间……问题.以便我们在合适的时机为服务器添加硬 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
- Linux基础入门-文件系统操作与磁盘管理
一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...
- Linux文件系统操作与磁盘管理
简单文件操作 df---->report file system disk space usage du---->estimate file space usage 2.简单的磁盘管理 d ...
- Linux基础(10)AIO项目设计与POSIX文件操作和目录管理
实现fast-cp :拷贝文件到目标对象 Linux的七种文件类型 :https://blog.csdn.net/linkvivi/article/details/79834143 ls -al :h ...
- C 语言函数手册:涵盖字符测试、字符串操作、内存管理、时间换算、数学计算、文件操作、进程管理、文件权限控制、信号处理、接口处理、环境变量、终端控制
1. 字符测试函数 函数 说明 isascii() 判断字符是否为ASCII码字符 2. 字符串操作 函数 说明 gcvt() 将浮点型数转换为字符串(四舍五入) index() 查找字符串并返回首次 ...
随机推荐
- 迅为iMX6Q/PLUS开发板烧写设备树内核 Qt 系统
迅为iMX6Q 和 iMX6PLUS 两个硬件版本,设备树镜像的烧写方法以及镜像所在目录,镜像名称全部一致. 如果用的是 iMX6Q 版本,想要烧写设备树版本镜像,请使用 iMX6Q 设备树版本的光盘 ...
- gendiff - 致力于创建无错的 diff 文件的工具
SYNOPSIS gendiff <directory> <diff-extension> DESCRIPTION gendiff 是一个简单的脚本,目标是根据单一的目录生成一 ...
- 五、Pandas玩转数据
Series的简单运算 import numpy as np import pandas as pd s1=pd.Series([1,2,3],index=['A','B','C']) print(s ...
- python之道06
1,使⽤循环打印以结果: * *** ***** ******* ********* 答案: 方法一: for i in range(10): if i % 2 == 1: print(i*'*') ...
- javascript中typeof、undefined 和 null
typeof 是运算符,注意不是函数,是运算符,其作用,是考察变量究竟是什么类型.或曰,是变量是否定义或是否初始化的照妖镜.返回值是字符串. undefined 表示一个对象没有被定义或者没有被初始化 ...
- 计算机完全卸载mysql
编写时间:15:07:02(2018年9月23日) 1.停止mysql服务. “运行”——>“cmd”——>输入“net stop mysql;” 看链接: https://blog.cs ...
- 目录扫描工具DirBuster
DirBuster是用来探测web服务器上的目录和隐藏文件的.因为DirBuster是采用java编写的,所以运行前要安装上java的环境. 来看一下基本的使用: ①:TargetURL下输入要探测网 ...
- 蓝牙学习 (8)配对raspberryPi和SensorTag CC2650
在上一篇中,用raspberryPi能够扫描到Ti SensorTag. 但是没有获得更多的数据,并且发现sensor Tag并没有回复scan request. https://blog.csdn. ...
- opencast的docker安装
在之前的从源安装和从包安装opencast,都遇到较多环境问题导致失败.所有采用docker安装. Dockers是有能力打包应用程序及其虚拟容器,可以在任何Linux服务器上运行的依赖性工具,这有助 ...
- 如何用纯 CSS 创作一个菱形 loader 动画
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/eKzjqK 可交互视频教 ...