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 机械硬盘 机械硬盘由多块盘片组成,它们都绕着主轴旋转.每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小.在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据 ...
随机推荐
- 【css3】使用filter属性实现改变svg图标颜色
1.兼容性: 2.应用场景:新增页面上传svg图标后,更改图标颜色后,在列表页面展示色值改后的svg图标. 3.解决方案:使用filter属性中的 drop-shadow,drop-shadow滤镜可 ...
- redis 基本原理及安装
一:什么是redis? Redis 是一个开源的,高性能的,基于键值对的缓存与存储系统.通过提供多种键值数据类型来适应不同场景下的缓存与存储需求. 二:redis数据库有什么优点? Redis数据库中 ...
- 如何将Bitcoin比特币区块链数据导入关系数据库
在接触了比特币和区块链后,我一直有一个想法,就是把所有比特币的区块链数据放入到关系数据库(比如SQL Server)中,然后当成一个数据仓库,做做比特币交易数据的各种分析.想法已经很久了,但是一直没有 ...
- Linux内存管理 (23)一个内存Oops解析
专题:Linux内存管理专题 关键词:DataAbort.fsr.pte.backtrace.stack. 在内存相关实际应用中,内存异常访问是一种常见的问题. 本文结合异常T32栈回溯.Oops ...
- WPF: 自动设置Owner的ShowDialog 适用于MVVM
原文:WPF: 自动设置Owner的ShowDialog 适用于MVVM 原文地址:http://www.mgenware.com/blog/?p=339 WPF中的Windows的ShowDialo ...
- Cinder组件
cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理. cinder-api 向外界暴露若干 HTTP REST ...
- Java基础——枚举详解
前言: 在第一次学习面向对象编程时,我记得最深的一句话就是“万物皆对象”.于是我一直秉承着这个思想努力的学习着JAVA,直到学习到枚举(Enum)时,看着它颇为奇怪的语法……我一直在想,这TM是个什么 ...
- iOS WebView 加载本地资源(图片,文件等)
https://www.cnblogs.com/dhui69/p/5596917.html iOS WebView 加载本地资源(图片,文件等) NSString *path = [[NSBundle ...
- windows服务器nginx+php启动开源ecshop
1,下载php,nginx,ECShop源码 2,解压php到指定目录(如:C:\php-7.2.6) 2.1,找到指定目录下文件php.ini-development复制重命名为php.ini 2. ...
- cas单点登录-https的配置(一)
前言 由于个人的兴趣和为了加薪,在这里研究下cas单点登录,同时也记录下自己探索的过程,希望也能帮到有同样兴趣的小伙伴 环境 CAS-5.1.3 tomcat8.5 jdk8 centos6.5 ...