当前位置:  编程技术>.net/c#/asp.net

有关c#操作目录-文件-字符串的类

    来源: 互联网  发布时间:2014-08-30

    本文导语:  为大家介绍这样几个类: Path对路径字符串进行操作 Directory和DirectoryInfo 对目录进行操作 File和FileInfo对文件进行操作 以下对这三个类的功能上的说明,注意。 一、Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件...

为大家介绍这样几个类:
Path对路径字符串进行操作
Directory和DirectoryInfo 对目录进行操作
File和FileInfo对文件进行操作

以下对这三个类的功能上的说明,注意。

一、Path 对路径 字符串进行操作
获得后缀
能合并路径
获取文件名

二、操作目录:Directory和DirectoryInfo
判断目录是否存在
创建目录
删除目录
获取目录下所有的子目录
获取目录下所有的子文件

三、操作文件:File和FileInfo
读文件
写文件
追加文件
判断文件是否存在
创建文件
删除文件

1、Path类
 

代码如下:
using System;
using System.IO;//目录和文件操作的名称空间
namespace _11_Path类 {
class Program {
static void Main(string[] args) {
string path = "c:\abc\1.txt" ;
//注意这里是对路径字符串的操作 而不是真正的文件 “修改”支持字符串层面的,没有真的给文件改名
path = Path.ChangeExtension(path, "avi" );//ChangeExtension()修改文件后缀名1.avi c:\abc\1.avi
//将两个路径合成一个路径,比用+好,可以方便解决是不是加斜线的问题,自动处理路径分隔符的问题
path = Path.Combine("c:\abc\def\" , "1.jpg"); //c:abcdef1.jpg
//得到文件所在文件夹的位置 同样是从字符串的角度去处理
path = Path.GetDirectoryName(path);//c:abc
path = Path.GetExtension(path);//扩展名 .txt
path = Path.GetFileName(path);//文件名.后缀名 1.txt
path = Path.GetFileNameWithoutExtension(path);//不含后缀的文件名 1
path = Path.GetFullPath("11-Path类.exe" );//文件全路径(相对文件的全路径 一般也不用此方法) F:PIZIYIMAO11-Path类binDebug11-Path类.exe
path = Path.GetTempFileName();//临时文件夹保存路径 自动创建文件 C:Documents and SettingsPIZIYIMAOLocal SettingsTemptmp5E.tmp
path = Path.GetTempPath();//获取临时文件夹保存路径 C:Documents and SettingsPIZIYIMAOLocal SettingsTemp
Console.WriteLine(path);
Console.Read();
}
}
}

2、Directory与DirectoryInfo 操作目录类
 

代码如下:
using System;
using System.IO;
namespace _12_Directory {
class Program {
static void Main( string[] args) {
DirectoryInfo dic = new DirectoryInfo( "c:\abc" );
//dic.Name; //获取文件名
//dic.FullName; //获取文件全路径 功能要比Directory强大 区别在于它是实例类 而后者是静态类
Directory .CreateDirectory("c:\abc" ); //创建文件夹
Directory .CreateDirectory("c:\abc\1\2\3\4\5\6\7" ); //连续创建多级文件夹
if (Directory .Exists( "c:\abc")) //判断是否存在文件夹
{
Directory .Delete("c:\abc" ); //如果存在则删除 如果文件夹为空能正常删除 不为空则会报错 "目录不是空的"
Directory .Delete("c:\abc" , true); //true则指定 如果文件夹不为空 同样执行删除操作
}
string [] paths = Directory .GetDirectories( "c:\abc"); //获取目录中所有子目录名称 注意只取下一级别 即c:abc1 如获取windows文件夹下所有文件夹路径可以使用此方法
string [] paths2 = Directory .GetDirectories( "c:\windows", "$*" );//以上方法重载实现 检索以$开头的文件
string [] paths3 = Directory .GetDirectories( "c:\abc", "*" , SearchOption .AllDirectories);//通配符查找文件夹中符合条件的文件 包括子级文件夹
foreach (string path in paths) {
Console .WriteLine(path);
}
string [] files = Directory .GetFiles( "c:\windows"); //遍历文件夹下的所有文件
string [] files2 = Directory .GetFiles( "c:\windows", "*.ini" , SearchOption .AllDirectories);//通配符查找目录下的文件 用法类似于GetDirectories
foreach (string file in files2) {
Console .WriteLine(file);
}
//目录操作最重要的就是 GetFiles和GetDirectories方法
Directory .GetParent("c:\abc\1\2\3\4\5\6\7" ); //返回7文件夹的父级目录 c:abc123456
Console .Read();
}
}
}

3、File文件类
 

代码如下:
using System;
using System.IO;
using System.Text;
namespace _13_File {
class Program {
static void Main( string[] args) {
//file静态类 使用file类时需要注意文件默认编码的使用 如果编码不正确 文件中会显示乱码
File .AppendAllText("c:\1.txt" , "gb1232"); //向c:\1.txt文件中追加 内容“gb2312”
//如果存在写入文件
if (File .Exists( "c:\1.txt")) {
File .WriteAllText("c:\1.txt" , "写入中文有时会出现乱码 需要使用第三个参数 指定Encoding文件的编码格式 Default为默认格式" ,Encoding .Default);//WriteAllText是彻底的覆盖 而AppendAllText是追加
}
//File.ReadAllText();//读取文件不再列举 以下方法查看文档不再举例
//string[] ReadAllLines(string path) //读取文本文件到字符串数组中
//string ReadAllText(string path) //读取文本文件到字符串中
//WriteAllLines(string path,string[] contents),//将字符串数组逐行保存到文件path中,会覆盖旧内容。
FileInfo fi = new FileInfo( "c:\2.txt" );//实例化的类 功能比file要强大
fi.AppendText(); //它有很多的方法 和属性 自己查看 文档
Console .Read();
}
}
}

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 有关字符乱码的问题!!
  • 有关转义字符
  • 会gtk的进来看看,有关字符转换的
  • **********菜鸟送分了,有关中文字符的问题,大家在线接分了!!
  • linux内核怎么定义汇编全局变量及在c文件中使用这个变量?有关0。11下的字符回显
  • 有关ldd中字符驱动程序的scull_devices
  • 有关字符数据写入文件的问题
  • 请教高手,有关字符设备驱动程序问题
  • 有关JAVA字符集的详细系统资料哪位兄弟或MM有啊!好着急呀!遇到了问题。
  • 有关字符的问题---100分求解,在线等待
  • ​有关Docker的八个令人难以置信的事实
  • 有关内码转换(跟HttpServletRequest有关)
  • 求有关png图像处理的libpng库的有关中文资料
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • 求教有关smartupload的问题,有关就给分!!
  • 有关KDevelop-3.0.4-0.1.i386.rpm的有关软件包
  • 有关在sco unix5.0.4下有关网卡设置的问题(非常急,高分相送)
  • 有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
  • 有关KDevelop编程的资料
  • 有关集群与数据同步
  • 请教有关英文简历方面的词句!
  • 有关报表打印(在JAVA,WEB下应用)急用!
  • 请各位大哥告知JAVA中消息机制的有关资料,拜托!
  • 有关cocoon的问题??
  • 有关jbuilder
  • 我想看看有关Linux和Unix的源码,有什么好的建议
  • 有关J2ME的帮助文档!
  • 100分求助 能不能提供一些有关图像分割的算法和实现代码!谢谢
  • 在哪里可以弄到有关tomcat配置方面的资料?
  • Helper! 有关Jbuilder使用问题???
  • 有关swing的问题,请高手回答


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3