当前位置:   article > 正文

C# Path操作路径文件、File处理文件、读写文件:byte[];string[];string; string与byte[]转换,File.AppendAllText()_string 转换成path c#

string 转换成path c#

字符串以怎样的形式存储在二进制------编码

File 和Path 都在命名空间 using System.IO;


1、 专门操作路径 Path
           string str = @"E:\language\C#\C#learn\first.wav";  :假设我们知道文件的路径,需要提取文件名称,目前有两种方式:通过字符串操作和利用Path处理

  1. 利用字符串的方法提取文件名
  2. // 假如要找到最后的文件名 first.wav
  3. int index = str.LastIndexOf("\\");// 找到最后出现'\'的位置
  4. string st = str.Substring(index + 1); // 提取‘\’后面的字符
  5. Console.WriteLine(st); // 输出

2、利用Path处理路径文件

 
  1. string str=@"E:\language\c#\34\video\lesson1.avi";
  2. string fileName=Path.GetFileName(str); // 很方便的获得文件名 ,str中存放的是文件的路径
  3. string fileNameWOEPath.GetFileNameWithoutExtension(str); //获得文件名,不包括扩展名
  4. string fileExtension=Path.GetExtension (str); //获得文件扩展名
  5. string fileFullPath=Path.GetFullPath(str); //获得文件路径
  6. string fileFileName=Path.GetDirectoryName (str); //获得文件夹名
  7. string fileCombine=Path.Combine (@"f\lan\c\",@"ccc#"); //组成新的路径名

  1. string str = @"E:\language\C#\video\1.avi";
  2. string path = Path.ChangeExtension(str,".jpg");//修改文件的后缀,只是字符串层面的操作,文件类型实质没有改变。
  3. string path1 = Path.Combine(@"E:\language\C#\video","pic.jpg");//相对于‘+’,来说,不需要考虑\的问题

3 文件File

  1. File.Create(@"D:\vtang\桌面\a.txt"); // 创建一个文件
  2. File.Delete(@"D:\vtang\桌面\a.txt"); // 删除一个文件
  3. File.Copy(@"D:\vtang\桌面\a.txt",@"D:\vtang\桌面\new.txt"); // 赋值copy一个文件
  4. File.Move(@"D:\vtang\桌面\new.txt", @"D:\vtang\桌面\new.txt"); // 将一个文件从一个地方移动到另一个地方
4 文件的读写

读:

  1. 1byte[ ] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 以字节形式输出 ,输出字节数组
  2. //需要将字节数组中的每个元素按照指定的编码形式编码成字符串
  3. string s = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以
  4. string s1 = Encoding.Default.GetString(by); // 保存的格式跟打开的格式不一致时,出现乱码
  5. 2string[ ] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string形式输出 用来操作每行数据;其他两种方式都不可以
  6. 3、 File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
  7. string[ ] str = File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default );
  8. string str=File.ReadAllText(@"D:\vitang\桌面\a.txt",Encoding.Default );
写:(这些写的方式都会把文件中原来的数据覆盖,可以用追加AppendAllText())

  1. string strn="将这个以字节形式写入文件中,先将string转换为byte[]";
  2. byte[] byy=Encoding.Default.GetBytes(strn);
  3. File.WriteAllBytes(@"d:\vitang\桌面\a.txt",byy);// 文件不存在则创建,存在则覆盖
  4. string[] strn={"将这个以字节形式写入文件中,先将string转换为byte[]","h"};
  5. byte[] reby = File.ReadAllBytes(@"d:\vitang\桌面\a.txt");
  6. string restr= Encoding.Default.GetString(reby);
  7. File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);
  8. File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);

读写文件的总结:

总共有三个方法读写文件

1、byte[]---byte:  ReadAllBytes()、WriteAllBytes()

  1. byte[] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 把文件中的内容读入到byte[ ]数组中,再转换为string
  2. string s1 = Encoding.Default.GetString(by); stringbyte[ ]转换
  3. string s1 = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以
  4. byte[] byy=Encoding.Default.GetBytes(strn);
  5. File.WriteAllBytes(@"d:\viang\桌面\a.txt",byy);// 将string数组先转为byte[]数组,再存入文件中
2、string--lines: ReadAllLines()、WriteAllLine()

  1. string[] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string[ ] 形式输出
  2. string [] strn={"heool ","hao","号店"};
  3. File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default ); // 将string[ ]数组存到文件中,指定编码格式
3、string---Text: ReadAllText()、WriteAllText()

  1. string str= File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
  2. string str2="hello world";
  3. File.WriteAllText(@"d:\vitang\桌面\a.txt", str2,Encoding.Default );

总结:
string[]:File.ReadAllLines()和string:File.ReadAllText()的读写都是文本文件,File只适合读小文件,大的文件需要文件流FileStream()读取。

byte[ ]转换为string

  1. string s1 = Encoding.Default.GetString(by); //string与byte[]转换
  2. string s1 = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以

  1. void AppendAllText(string Path,string contents);//将文本contents的内容附加到文件path中
  2. bool Exists(string path);//判断文件path是否存在
  3. string[] ReadAllLines(string path);//读取文本文件到字符串数组中
  4. string ReadAllText(string path);//读取文本文件到字符串中
  5. void WriteAllText(string Path,string contents);//将文本contents的内容保存W到文件path中,会覆盖旧内容
  6. WriteAllLines(string Path,string[] contents);//将字符串数组一行一行保存到文件path中,会覆盖旧内容


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/325145
推荐阅读
相关标签
  

闽ICP备14008679号