1、文件属性操作

File类与FileInfo都能实现。静态方法与实例化方法的区别!

  1. //use File class
  2. Console.WriteLine(File.GetAttributes(filePath));
  3. File.SetAttributes(filePath,FileAttributes.Hidden | FileAttributes.ReadOnly);
  4. Console.WriteLine(File.GetAttributes(filePath));
  5.  
  6. //user FilInfo class
  7. FileInfo fi = new FileInfo(filePath);
  8. Console.WriteLine(fi.Attributes.ToString());
  9. fi.Attributes = FileAttributes.Hidden | FileAttributes.ReadOnly; //隐藏与只读
  10. Console.WriteLine(fi.Attributes.ToString());
  11.  
  12. //只读与系统属性,删除时会提示拒绝访问
  13. fi.Attributes = FileAttributes.Archive;
  14. Console.WriteLine(fi.Attributes.ToString());

2、文件路径

文件和文件夹的路径操作都在Path类中。另外还可以用Environment类,里面包含环境和程序的信息。

  1. string dirPath = @"D:\TestDir";
  2. string filePath = @"D:\TestDir\TestFile.txt";
  3. Console.WriteLine("<<<<<<<<<<<{0}>>>>>>>>>>", "文件路径");
  4. //获得当前路径
  5. Console.WriteLine(Environment.CurrentDirectory);
  6. //文件或文件夹所在目录
  7. Console.WriteLine(Path.GetDirectoryName(filePath)); //D:\TestDir
  8. Console.WriteLine(Path.GetDirectoryName(dirPath)); //D:\
  9. //文件扩展名
  10. Console.WriteLine(Path.GetExtension(filePath)); //.txt
  11. //文件名
  12. Console.WriteLine(Path.GetFileName(filePath)); //TestFile.txt
  13. Console.WriteLine(Path.GetFileName(dirPath)); //TestDir
  14. Console.WriteLine(Path.GetFileNameWithoutExtension(filePath)); //TestFile
  15. //绝对路径
  16. Console.WriteLine(Path.GetFullPath(filePath)); //D:\TestDir\TestFile.txt
  17. Console.WriteLine(Path.GetFullPath(dirPath)); //D:\TestDir
  18. //更改扩展名
  19. Console.WriteLine(Path.ChangeExtension(filePath, ".jpg"));//D:\TestDir\TestFile.jpg
  20. //根目录
  21. Console.WriteLine(Path.GetPathRoot(dirPath)); //D:\
  22. //生成路径
  23. Console.WriteLine(Path.Combine(new string[] { @"D:\", "BaseDir", "SubDir", "TestFile.txt" })); //D:\BaseDir\SubDir\TestFile.txt
  24. //生成随即文件夹名或文件名
  25. Console.WriteLine(Path.GetRandomFileName());
  26. //创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径
  27. Console.WriteLine(Path.GetTempFileName());
  28. //返回当前系统的临时文件夹的路径
  29. Console.WriteLine(Path.GetTempPath());
  30. //文件名中无效字符
  31. Console.WriteLine(Path.GetInvalidFileNameChars());
  32. //路径中无效字符
  33. Console.WriteLine(Path.GetInvalidPathChars());

c# 文件笔记的更多相关文章

  1. itextsharp利用模板生成pdf文件笔记

    iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件. 中文参考网站:http://hardrock.cnblogs.com/ http://pdfhome.hope.com ...

  2. webpack文件笔记

    webpack.prod.conf.js里面的ExtractTextPlugin,把css文件提取出来,专门进行打包minify :压缩 依赖的第三方库打包到vendor.js里面 每次项目打包的时候 ...

  3. Linux压缩文件笔记

    https://my.oschina.net/dongqianlin/blog/97168http://linux.it.net.cn/CentOS/fast/2017/0628/27029.html ...

  4. 在express中提供静态文件笔记

    在express中提供静态文件 要在express框架中提供静态文件,如:css.javascript等文件,就要使用到他的内置中间件功能express.static,将包含静态文件目录文件传递给ex ...

  5. Markdown 编辑器+同步预览+文件笔记管理+静态博客 metadata 管理

    Leanote: 1. 笔记管理, 支持富文本, markdown, 写作模式.... 编辑器绝对好用. 另外特意为coder制作了一个贴代码的插件, 真是太贴心(因为作者也是coder) 2. 博客 ...

  6. C/C++语言读取SEGY文件笔记(一)

    SEGY IO 推荐采用的IDE为Visual studio(VS),本文档将介绍SEGY文件的读取与写入过程,即SEGY文件的复制. 因此,新建头文件ReadSeismic.h与C++文件ReadS ...

  7. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  8. 嵌入式Linux学习笔记(0)基础命令。——Arvin

    学习记录: 到今天为止ARM裸机开发学习进程:1.2.1-1.2.14 预科班知识Linux介绍学习进程:0.2.1-0.2.6 学习内容笔记: 学习了Linux的开发方式的优劣介绍 学习了常用文件夹 ...

  9. Linux学习笔记(二)2015.4.14

    笔记2.1 Q:登陆命令  A:刚开始登陆的是安装Linux时设置的普通用户,如lin,输入su - root后,成为root用户 笔记2.2 Q:切换控制台  A:ctrl+alt+F1-F7可以切 ...

随机推荐

  1. require模块化载入

    1,模块化require的载入步骤 1,一个总文件夹,,里面三个子文件夹 ,, 分别是 2,common 里面是放一些公共方法和自己封装的方法     js里面是放自己的业务逻辑js文件和一些模块化的 ...

  2. 纯java+maven+sqlserver使用mybatis

    第一部分:基本实现 @参考文章,在此基础上略作修改 1,新建maven项目JavaMybatis导入依赖 <dependencies> <dependency> <gro ...

  3. day 16 包,random,shutil

    包: 函数过多,可以分模块文件去管理函数,模块文件过多,将模块文件分类放在一个个的文件夹中,这个文件夹就叫做包,组织结构更加清晰,合理! 模式就是被别人使用,包既然是一些模块的集合,也是被调用. 文件 ...

  4. Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)——java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  5. Java05-Java基础语法(四)循环结构

    Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...

  6. Cloud Foundry v2 部署及入门运维

    之前写过一个Guide for Cloud Foundry New Teamer.不过似乎已经有些过时,那会实验室主要是针对的CF v1进行的研究,现在已经全面进入V2时代了.所以更新一下关于Clou ...

  7. ios 获取当前时间

    1.第一种返回的时间是一个整个的字符串. NSDate *timeDate = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateForm ...

  8. 三角化---深度滤波器---单目稠密重建(高翔slam---十三讲)

    一.三角化 [1]三角化得到空间点的三维信息(深度值) (1)三角化的提出 三角化最早由高斯提出,并应用于测量学中.简单来讲就是:在不同的位置观测同一个三维点P(x, y, z),已知在不同位置处观察 ...

  9. 序列化、模块 day21

      一 序列化 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 字典示例 import json d={'a':1,'b':2} ret = json.dumps(d)# ...

  10. 4J - 前m大的数

    还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就 ...