赞
踩
将字符串以怎样的形式存储在二进制------编码
File 和Path 都在命名空间 using System.IO;
1、 专门操作路径 Path
string str = @"E:\language\C#\C#learn\first.wav"; :假设我们知道文件的路径,需要提取文件名称,目前有两种方式:通过字符串操作和利用Path处理
- 利用字符串的方法提取文件名
- // 假如要找到最后的文件名 first.wav
- int index = str.LastIndexOf("\\");// 找到最后出现'\'的位置
- string st = str.Substring(index + 1); // 提取‘\’后面的字符
- Console.WriteLine(st); // 输出
- string str=@"E:\language\c#\34\video\lesson1.avi";
- string fileName=Path.GetFileName(str); // 很方便的获得文件名 ,str中存放的是文件的路径
- string fileNameWOEPath.GetFileNameWithoutExtension(str); //获得文件名,不包括扩展名
- string fileExtension=Path.GetExtension (str); //获得文件扩展名
- string fileFullPath=Path.GetFullPath(str); //获得文件路径
- string fileFileName=Path.GetDirectoryName (str); //获得文件夹名
- string fileCombine=Path.Combine (@"f\lan\c\",@"ccc#"); //组成新的路径名
- string str = @"E:\language\C#\video\1.avi";
- string path = Path.ChangeExtension(str,".jpg");//修改文件的后缀,只是字符串层面的操作,文件类型实质没有改变。
- string path1 = Path.Combine(@"E:\language\C#\video","pic.jpg");//相对于‘+’,来说,不需要考虑\的问题
- File.Create(@"D:\vtang\桌面\a.txt"); // 创建一个文件
- File.Delete(@"D:\vtang\桌面\a.txt"); // 删除一个文件
- File.Copy(@"D:\vtang\桌面\a.txt",@"D:\vtang\桌面\new.txt"); // 赋值copy一个文件
- File.Move(@"D:\vtang\桌面\new.txt", @"D:\vtang\桌面\new.txt"); // 将一个文件从一个地方移动到另一个地方
4 文件的读写
读:
- 1、 byte[ ] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 以字节形式输出 ,输出字节数组
- //需要将字节数组中的每个元素按照指定的编码形式编码成字符串
-
- string s = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以
- string s1 = Encoding.Default.GetString(by); // 保存的格式跟打开的格式不一致时,出现乱码
- 2、 string[ ] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string形式输出 用来操作每行数据;其他两种方式都不可以
- 3、 File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
- string[ ] str = File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default );
- string str=File.ReadAllText(@"D:\vitang\桌面\a.txt",Encoding.Default );
写:(这些写的方式都会把文件中原来的数据覆盖,可以用追加AppendAllText())
- string strn="将这个以字节形式写入文件中,先将string转换为byte[]";
- byte[] byy=Encoding.Default.GetBytes(strn);
- File.WriteAllBytes(@"d:\vitang\桌面\a.txt",byy);// 文件不存在则创建,存在则覆盖
- string[] strn={"将这个以字节形式写入文件中,先将string转换为byte[]","h"};
-
- byte[] reby = File.ReadAllBytes(@"d:\vitang\桌面\a.txt");
- string restr= Encoding.Default.GetString(reby);
- File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);
- File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);
总共有三个方法读写文件
1、byte[]---byte: ReadAllBytes()、WriteAllBytes()
- byte[] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 把文件中的内容读入到byte[ ]数组中,再转换为string
- string s1 = Encoding.Default.GetString(by); string与byte[ ]转换
- string s1 = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以
-
- byte[] byy=Encoding.Default.GetBytes(strn);
- File.WriteAllBytes(@"d:\viang\桌面\a.txt",byy);// 将string数组先转为byte[]数组,再存入文件中
2、string--lines: ReadAllLines()、WriteAllLine()
- string[] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string[ ] 形式输出
- string [] strn={"heool ","hao","号店"};
- File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default ); // 将string[ ]数组存到文件中,指定编码格式
3、string---Text: ReadAllText()、WriteAllText()
- string str= File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
- string str2="hello world";
- File.WriteAllText(@"d:\vitang\桌面\a.txt", str2,Encoding.Default );
byte[ ]转换为string
- string s1 = Encoding.Default.GetString(by); //string与byte[]转换
- string s1 = Encoding.GetEncoding("GB2312").GetString(by); //编码,ANSI格式,default,两种格式都可以
- void AppendAllText(string Path,string contents);//将文本contents的内容附加到文件path中
- bool Exists(string path);//判断文件path是否存在
- string[] ReadAllLines(string path);//读取文本文件到字符串数组中
- string ReadAllText(string path);//读取文本文件到字符串中
- void WriteAllText(string Path,string contents);//将文本contents的内容保存W到文件path中,会覆盖旧内容
- WriteAllLines(string Path,string[] contents);//将字符串数组一行一行保存到文件path中,会覆盖旧内容
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。