文件流
一、文件操作常用的相关类(System.IO)
类名 | 作用 |
File | 静态类,对文件整体操作、拷贝、删除、剪切等 |
Directory | 静态类,操作目录(文件夹) |
DirectoryInfo | 文件夹的一个“类”,用来描述一个文件夹对象 |
FileInfo | 文件类,用来描述一个文件对象 |
Path | 对文件或目录的路径进行操作 |
Stream | 文件流,抽象类,FileStream 文件流,MemoryStream 内存流,NetworkStream 网络流,StreamReader 快读读取文本文件,StreamWriter 快速写入文本文件。 |
二、Path类
方法名 | 作用 |
ChangeExtension | 修改文件的后缀,Path.ChangeExtension(@”c:/temp/f3.png”,”jpg”) |
Combine | 将两个路径合并成一个路径,Path.Combine(@”c:/temp”,”a.jpg”) |
GetDiretoryName | 得到文件的路径名,Path.GetDirectoryName(@”c:/temp/a.jpg”) |
GetExtension | 得到文件的扩展名,Path.GetExtension(@”c:/temp/a.jpg”) |
GetFileName | 得到文件路径的文件名部分 |
GetFileNameWithoutExtension | 得到去除扩展名的文件名 |
GetFullPath | 得到文件的全路径,可根据相对路径得到绝对路径 |
Assmbly.GetExecutiongssembly().Location | 得到当前运行的程序集的路径 |
Demo1
1 PRotected void Page_Load(object sender, EventArgs e) 2 { 3 string strPath = @"c:/1/erweima.jpg"; 4 Response.Write(Path.ChangeExtension(strPath, "png")); 5 Response.Write("</br>"); 6 Response.Write(Path.Combine(@"c:/1", "1.jpg")); 7 Response.Write("</br>"); 8 Response.Write(Path.GetDirectoryName(strPath)); 9 Response.Write("</br>");10 Response.Write(Path.GetExtension(strPath));11 Response.Write("</br>");12 Response.Write(Path.GetFileName(strPath));13 Response.Write("</br>");14 Response.Write(Path.GetFileNameWithoutExtension(strPath));15 Response.Write("</br>");16 Response.Write(Path.GetFullPath(strPath));17 }View Code
三、File类
方法名 | 作用 |
Create | 创建制定的文件,如果文件存在则覆盖,File.Create(@:”c:/1.txt”) |
AppendAllText | 将制定的字符串追加到文本中,如果文件不存在,则创建该文件,File.AppendAllText(@“c:/1.txt”,”哈哈”) |
AppendAllLines | 在一个文件中追加文本行,如果文件不存在,则创建 |
Copy | 将现有文件复制到新文件 |
Delete | 删除指定的文件 |
Exists | 判断指定路径的文件是否存在 |
Move | 文件移动 |
ReadAllText | 读取文件所有行 |
ReadAllLines | 读取文本文档,返回字符串数组 |
WriteAllText | 写入制定的字符串 |
WriteAllLines | 写入指定的字符串数组 |
*编码(常用符号用哪些二进制表示)
ASCII,基于拉丁字母的一套电脑编码系统。
GB2312,对ASCII码扩展,追加了适用于汉字的一套电脑编码(适用于中国大陆,1981年实施)
GB18030,对GB2312扩展,追加了中国大陆少数民族文字的电脑编码。
BIG5,通行于台湾、香港地区的繁体字编码方案。
Unicode,为多个国家统一制定的一套电脑编码,以满足跨语言、跨平台的文本转换、处理的要求。4个字节表示一个字符,很浪费资源。
UTF-8,对Unicode升级,用一到四个字节表示一个字符,不同的语言就用不同的长度。
Demo2
1 protected void Page_Load(object sender, EventArgs e) 2 { 3 //using (File.Create(@"d:/1.txt"))//创建完后,释放资源,不然会报错。 4 //{ } 5 //File.Delete(@"d:/1.txt"); 6 //File.Move(@"d:/1.txt", @"e:/1.txt"); 7 //File.Copy(@"d:/1.txt", @"e:/1.txt",true); 8 9 //File.WriteAllText(@"d:/1.txt", "哈哈哈", Encoding.Default);//如果不指定Encoding.Default那么写入的编码和读取的编码不一致,会导致乱码10 //List<string> list = new List<string> {"aaa","bbbb","ccccc","dddd" };11 //File.WriteAllLines(@"d:/1.txt",list, Encoding.Default);12 13 //File.AppendAllText(@"d:/1.txt", "eeeee", Encoding.Default);14 //List<string> list = new List<string> {"eeee","ffff","gggg","eeee" };15 //File.AppendAllLines(@"d:/1.txt", list, Encoding.Default);16 17 //string strRead = File.ReadAllText(@"d:/1.txt");18 //Response.Write(strRead);19 20 //string[] arrStr = File.ReadAllLines(@"d:/1.txt");21 //foreach (var s in arrStr)22 //{23 // Respo
新闻热点
疑难解答