c#管理文件系统
using System;
using System.Collections.Generic;
using System.IO;
using static System.Console; /*System.IO:
FileSystemInfo DriveInfo
| |
DirectoryInfo FileInfo Directory File Path Directory和File类只含静态方法,不能被实例化(多用于执行一个操作)
DirectoryInfo和FileInfo提供与Directory和File大致相同的公共方法
(多用于对同一个对象执行多个操作) DriveInfo检查驱动器信息(磁盘C,D,E...)
*/ namespace ConsoleApp
{
class Program
{ static void Main(string[] args)
{
//PrintDrivesInfo(); //Path类
string path = Path.Combine(@"D:\Projects", "ReadMe.txt");
WriteLine(path);
path = GetDocumentsFolder();
WriteLine(path);
//Environment.SpecialFolder枚举了桌面、音乐、图片等 //创建文件, 路径必须存在
string fileName = "D:\\Sample1.txt";
File.WriteAllText(fileName, "Hello World!"); //复制文件 执行时间略长
var file = new FileInfo(@".\ReadMe.txt");
//路径需存在,不能覆盖现有文件
if (file.Exists && !File.Exists(@"C:\ReadMe.txt"))
file.CopyTo(@"C:\ReadMe.txt");
//或
File.Copy(@"C:\ReadMe.txt", @"C:\Copies\ReadMe.txt"); //删除、移动 文件或文件夹
//File.Delete(path);
//File.Move(path, path); string[] lines = File.ReadAllLines(fileName); //在读取完整个文件之前就可遍历它
IEnumerable<string> lines1 = File.ReadAllLines(fileName);
foreach (var line in lines1) { } string[] movies = { "Snow White And The Seven Dwarfs", "Gone With The Wind" };
File.WriteAllLines(fileName, movies); //追加
File.AppendAllLines(fileName, movies); //枚举文件
Directory.GetFiles(path); //返回目录中所有文件的名称(包括其路径)
Directory.GetDirectories(path);//返回目录中子目录的名称(包括其路径) //同上,但它们使用IEnumerable<string>立即开始返回结果
Directory.EnumerateFiles(path);
Directory.EnumerateDirectories(path); } public static void PrintDrivesInfo()
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.IsReady)
{
WriteLine($"Drive name: {drive.Name}"); //C:\
WriteLine($"Format: {drive.DriveFormat}"); //NTFS
WriteLine($"Type: {drive.DriveType}"); //Fixed
WriteLine($"Root directory: {drive.RootDirectory}"); //C:\
WriteLine($"Volume label: {drive.VolumeLabel}"); //System
WriteLine($"Free space: {drive.TotalFreeSpace}"); //...
WriteLine($"Available space: {drive.AvailableFreeSpace}");
WriteLine($"Total size: {drive.TotalSize}");
WriteLine();
}
}
} private static string GetDocumentsFolder()
{
#if NET46
return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
#else
string drive = Environment.GetEnvironmentVariable("HOMEDRIVE");
string path = Environment.GetEnvironmentVariable("HOMEPATH");
//return Path.Combine(drive+path, "documents");//不一定正确,有可能用户改变了文档的位置
return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
#endif
}
}
}
c#管理文件系统的更多相关文章
- ubuntu12.04管理文件系统工具
		ubuntu12.04管理文件系统工具 以前可以自动管理系统盘和移动硬盘,刚重新安装了UBUNTU12.04LTS之后不行了,原来是这个工具: "PCMANFM" 群星_-_偏偏喜 ... 
- 《Linux命令行与shell脚本编程大全》 第八章管理文件系统
		8.1 探索linux文件系统 8.1.1 基本的Linux文件系统 ext:最早的文件系统,叫扩展文件系统.使用虚拟目录操作硬件设备,在物理设备上按定长的块来存储数据. 用索引节点的系统来存放虚拟目 ... 
- 【Linux】管理文件系统
		文件系统概念: 文件系统是指文件的组织与管理结构,是一个有关于磁盘中各种有用信息的记录——即是保存以下信息的结构记录表 当前所使用磁盘的容量信息 磁盘的可用信息,包括已占用和剩余的空间: 文件与目录的 ... 
- Linux权限及归属管理 磁盘管理 文件系统 LVM管理
		第五六七章 alias 查看系统别名 67 chmod 设置文件或目录的权限 -R表示以递归的方式设置目录及目录下的所有子目录及文件的权限 u:属主 g:属组 o:其他人 a:所有人 +:添加 ... 
- 使用NSFileManager管理文件系统
		文件系统作为被所有进程使用的基本资源之一,在macOS和iOS中主要用于处理数据文件.应用程序以及与操作系统自身相关的持久存储. iOS中的文件系统格式为HFS Plus,macOS中的主要格式也是H ... 
- Linux系统管理第五六七章  权限及归属管理  磁盘管理  文件系统与lvm
		第五六七章 alias 查看系统别名 67 chmod 设置文件或目录的权限 -R表示以递归的方式设置目录及目录下的所有子目录及文件的权限 u:属主 g:属组 o:其他人 a:所有人 +:添加 ... 
- Linux系统管理第四次作业  磁盘管理 文件系统
		1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-l ... 
- linux管理文件系统指令
		就一个基本的linux系统而言,其计算机硬盘只能有三个分区:一个交换分区(用于处理物理内存存不下的信息),一个包含引导转载程序的内核的启动分区,一个根文件系统分区,后两个常采用 ext3文件系统 与e ... 
- 第5章 Linux上管理文件系统
		5.1 机械硬盘 机械硬盘由多块盘片组成,它们都绕着主轴旋转.每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小.在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据 ... 
随机推荐
- CF1012A Photo of The Sky
			CF1012A Photo of The Sky 有 \(n\) 个打乱的点的 \(x,\ y\) 轴坐标,现在告诉你这 \(2\times n\) 个值,问最小的矩形面积能覆盖住n个点且矩形长和宽分 ... 
- HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterface用法
			深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了.Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开 ... 
- Linux启动时间优化-内核和用户空间启动优化实践
			关键词:initcall.bootgraph.py.bootchartd.pybootchart等. 启动时间的优化,分为两大部分,分别是内核部分和用户空间两大部分. 从内核timestamp 0.0 ... 
- js模块化世界
			前言 我们经常见到 一些这样的写法,require('xxx').import xx from '../components/data'.export const data....也听见一些这样的说法 ... 
- Linux命令1
			1.获取当前系统支持的所有命令的列表: compgen -c 2.怎样查看一个linux命令的概要与用法: whatis grep #便可查到grep的用法 3.怎样一页一页地查看一个大文件的内 ... 
- Day7 Numerical simulation of optical wave propagation之通过随机介质(如大气湍流)的传播(三)
			三 执行湍流仿真 基本参数设置: 光场条件:波长wvl,源平面的光场U 传播几何结构:观察面孔径尺寸D2,传播距离Dz 湍流条件:大气折射率结构常数Cn2 1. 准备工作 确定传播几何结构 (程序: ... 
- 计算机网络基础知识-OSI七层协议模型
			一.物理层 物理层主要规定了物理设备的标准,如网线的类型.光纤的接口类型.各种传输介质的传输速率,物理层的数据以比特流(二进制)的形式存在,传输时将比特流转化为电流强弱,达到目的地之后再转化为比特流. ... 
- P1836 【数页码_NOI导刊2011提高(04)】
			P1836 数页码_NOI导刊2011提高(04) 题目描述 一本书的页码是从1—n编号的连续整数:1,2,3,…,n.请你求出全部页码中所有单个数字的和,例如第123页,它的和就是1+2+3=6. ... 
- 自定义组件的properties和data
			// components/epsoide/index.js Component({ /** * 组件的属性列表 */ properties: { index: { type: Number //va ... 
- 转 spring注解式参数校验
			转自: https://blog.csdn.net/jinzhencs/article/details/51682830 转自: https://blog.csdn.net/zalan01408980 ... 
