C#对文件/目录的操作:Path、File、Directory、FileStream、StreamWriter、StreamReader等类的浅析

一、Path:主要对文件路径的操作!

  常用方法:

String [email protected]"C:\a\b\c\123.txt";

1-1、Path.GetFileName(path);  //获得文件名:123.txt

1-2、Path.GetExtenSion(path);  //获得后缀名:.txt

1-3、Path.GetFileNameWithoutExtension(path);  //获得无后缀文件名:123

1-4、Path.GetDirectoryName(path);  //获得当前文件的路径:C:\a\b\c

1-5、Path.ChangeExtenSion(path,".exe");  //对pat字符串修改后缀,即输出:C:\a\b\c\123.exe 

1-6、Path.Combine(s1,s2);  //路径的合并:[email protected]"c:\1\2"或@ s1="c:\1\2\" ,[email protected]"abc.txt"  结果都是:"c:\1\2\abc.txt"

1-7、Path.GetFullpath(o.txt) ; // o.txt文件在bin目录下  //获得相对路径的绝对路径:c:\..\..\..\bin\Debug\o.txt

1-8、Path.ReadAllText(path);  //获得文件(即:123.txt)的内容

1-9、PathGetTempPath()  //获得当前用户的临时文件路径

1-10、Path.GetTempFileName()  //获得一个唯一一个临时文件名(*)

1-11、Path.GetRandomFileName()  //反回一个String 的随机文件名

二、File:主要用于文件及其内容的操作

1-1、File.Exists(@"c:\1\2\abc.txt") ;  // 返回 bool ;判断路径:c:\1\2.abc.tex 是否存在

1-2、File.Create(@"c:\1\2\abc.txt");  //在 c:\1\2\创建abc.txt文件。注: 如果存在该文件名则或覆盖

1-3、File.Move(@"c:\1\2\abc.txt",@"c:\1\abc.txt")  //abc.txt 从c:\1\2\ 移动到c:\1\下

1-4、File.Copy(@"c:\1\2\abc.txt","123.txt",true);      //在当前文件abc.txt,拷贝成123.txt True表示:如果文件存在时“覆盖”,不加则报错!

1-5、File.Delete(@"c:\1\2\abc.txt");      //删除abc.txt,如果文件不存在不会报错

读/写文件内容方法:

1-6、Flie.ReadAllText(@"c:\1\2\abc.txt",Encoding.UTF-8);  //以utf-8编码 读取c:\1\2\目录下的 abc.txt 文件的内容 返回:string 字符串

1-7、Flie.ReadAllLines(@"c:\1\2\abc.txt",Encoding.UTF-8);  //以utf-8编码 按行读取c:\1\2\目录下的 abc.txt 文件的内容 返回:string[] 字符串数组

1-8、Flie.ReadAllBytes(@"c:\1\2\abc.txt",Encoding.UTF-8);  ///以utf-8编码读取c:\1\2\目录下的 abc.txt 文件的内容 返回:bytes[] 数组

1-9、Flie.WriteAllBytes(@"c:\1\2\abc.txt",bytes);  //bytes是Byte[]数组  //将 bytes 写入c:\1\2\目录下的 abc.txt 文件的内容 会覆盖

1-10、Flie.WriteAllLines(@"c:\1\2\abc.txt",strings);  //strings是strings[]数组,将strings按行写入c:\1\2\目录下的 abc.txt 文件的内容 会覆盖

1-11、Flie.WriteAllText(@"c:\1\2\abc.txt",string);  //string是字符串,将string写入c:\1\2\目录下的 abc.txt 文件的内容 返回:string 字符串  会覆盖! 补充: File.AppandAllText(@"c:\1\2\abc.txt",string)追加方法

补充:字符串、bytes[]数组互转 方法:以UTF-8为例  要统一编码,否则会出现乱码

Encoding.UTF-8.getBytes(string),

Encoding.UTF-8.getString(bytes[] bytes)

三、FileStream 类:操作字节的

读取文件:

———————————读取star—————

1、创建一个FileStream 对象

//FileMode是枚举类型;Appand,Create,CreateNew,Open,OpenOrCreate,Truncate

//FileAccess是枚举类型;Read,ReadWrite,Write

FileStream FSRead= new FileStream(@"c:\1\2\3\abc.txt",FileMode.OpenOrCreate,FileAccess.Read);  

byte[] buffer= new byte[1024*1024*5]; //5M数组

//.Read(byte[] buffer,int starIndex, int count)//Read方法参数  返回 int ,即读取到的实际有效的字节数

int i = FSRead.Read( buffer,0, buffer.Length);

//将数组转码成字符串

string str= encoding.UTF-8.GetString(buffer,0,r);//0:即从第0个自己开始转码,r:转码个数

//关闭 &释放 FSRead 文件流占用的资源

FSRead.Close();

FSRead.Dispose()

———————————读取end—————

———————————写入star—————

FileStream 写入:using(会自动释放资源)

using(FileStream FSWrite= new FileStream(@"c:\1\2\3\abc.txt",FileMode.OpenOrCreate,FileAccess.Wirte))

{

  string str = "123456789";

  byte [] buffer= Encoding.UTF-8.GetByte(str);

  FSWrite.Write(buffer,0,bufffer.Length)

}

———————————写入end—————

先写到这了

StreamWriter、StreamReader  待续、、、

时间: 2024-10-03 22:41:41

C#对文件/目录的操作:Path、File、Directory、FileStream、StreamWriter、StreamReader等类的浅析的相关文章

C# 文件/文件夹一般操作(File、Directory)

C#常用文件操作在 System.IO 命名类库中有:File.Directory; 一. 1.文件(File) 操作: 文件创建:File.Create(filePath); ----在指定路径中创建或覆盖文件 文件删除:File.Delete(filePath); 判断文件是否存在:File.Exists(filePath) 复制文件到另一地址:File.Copy(string sourceFileName, string destFileName); ----将现有文件复制到新文件. 不允

File FileStream StreamWriter StreamReader文件读写操作方法

string path = "D:\\AccountChecking\\Test.txt"; string content = "abcdefg\r\nhigklmn\r\nopqrst"; //操作文件夹对象,无则创建文件夹,可以一次创建多级 Directory.CreateDirectory("D:\\AccountChecking\\"); #region File-对于文件的典型操作,如复制.移动.重命名.创建.打开.删除和一次将追加到单

C/C++关于文件的读写操作以及文件的打开和保存

通过近来的学习,总结一下关于文件的读写操作以及文件的打开和保存的方法. 一.文件的读写操作: (1)C语言对文件的读写操作 在C语言中,对文件的读写操作是用FILE结构体和常用的对文件操作的函数实现的,下面总结一下C语言中对文件操作的常用函数: fopen()   打开以文件名指定的文件 fwrite()  写文件 fread()  读文件 fseek()  移动文件的指针到新的位置通过该函数的参数设定的偏移量和初始位置 rewind()  移动文件的指针到文件流的开始位置,在通常情况下可用fs

Shell命令-文件及目录操作之file、md5sum

文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname]file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...] file命令的选项说明 file

文件及目录相关操作

PHP创建文件(夹)以及目录操作 一.目录操作         首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: <?php$base_dir="filelist/"; //打开目录 $fso=opendir($base_dir);echo  $base_dir."<hr/>";while($flist=readdir($fso)){//文件列表 echo $flist

操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) - Zery-zhang

一 基本介绍 操作文档,文件夹,需要用到的类 1 Directory (静态类) :      用于创建.移动和删除等操作通过 目录 和子 目录 DirectoryInfo (非静态): 2 File (静态类)  : 提供用于创建.复制.删除.移动和打开文件的静态类,并协助创建 FileStream 对象 FileInfo (非静态) 3 StreamReader : 实现一个 TextReader,使其以一种特定的编码从字节流中读取字符 StreamWriter : 实现一个 TextWri

C#路径/文件/目录/I/O常见操作汇总

文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请能够留言,使这些内容更加完善. 主要内容:一.路径的相关操作, 如判断路径是否合法,路径类型,路径的特定部分,合并路径,系统文件夹路径等内容:二.相关通用文件对话框,这些对话框可以帮助我们操作文件系统中的文件和目录:三.文件.目录.驱动器的操作,如获取它们的

环境变量,属性文件,文件基础操作,目录基础操作,遍历指定后缀名文件

环境变量和属性 环境变量相关: 1.得到某个/所有环境变量的值 2.设置环境变量的值 3.列出全部系统属性名 import java.util.Enumeration; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; public class Environment { public static void main(String[] args) { // TODO Auto-gener

文件操作(File类等)API摘要

Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有). 虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式.如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示.如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台. 如果此虚拟机具有控制台,那么它将由此类唯一的实例(可通过调用 System.console() 方法获得)表示.如果没有可