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个点且矩形长和宽分 ...
- 二十八、layui的日历组件使用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- VBA Editor Addins --> VBE插件模板开发众筹
https://www.cnblogs.com/Charltsing/p/VBEAddins.html QQ:564955427 8月8日测试版功能说明 1.VBE菜单的创建 2.toolwindow ...
- 让多个HTML页面 使用 同一段HTML代码
需求背景 一个网站有多个网页:一个网页,可以分为很多部分,举个例子,下面是一个特别简单的网页结构: 一般情况下,footer都是用于标识网站的相关信息(备案.联系方式.制作方),每一个页面都是相 ...
- Python——爬虫——数据提取
一.XML数据提取 (1)定义:XML指可扩展标记语言.标记语言,标签需要我们自行定义 (2)设计宗旨:是传输数据,而非显示数据,具有自我描述性 (3)节点关系: 父:每个元素及属性都有一个父. ...
- Install Air Conditioning HDU - 4756(最小生成树+树形dp)
Install Air Conditioning HDU - 4756 题意是要让n-1间宿舍和发电站相连 也就是连通嘛 最小生成树板子一套 但是还有个限制条件 就是其中有两个宿舍是不能连着的 要求所 ...
- mpvue——另类支持v-html
前言 最近在用mpvue将之前写的vue项目转化为小程序,但是不支持v-html,也不能说不支持,只不过转化为了rich-text的富文本组件,但是图片显示不全啊 本来想让后端内嵌个样式的,还是算了, ...
- python登录网页版微信发送消息
# coding=utf-8 import datetime import time from selenium import webdriver url = "https://wx2.qq ...
- Python【第五篇】模块、包、常用模块
一.模块(Module) 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- 记录一次被bc利用跳转过程分析
挖公司的项目站,发现站点一访问就直接跳转到了赌博站,有点懵逼,简单分析下hc利用过程: 公司项目站:http://***.com 当我访问它: 通过http:***.com直接跳转到了306648.c ...