C# 文件流

1:Path类是专门用来操作文件路径的(Path类是静态类):当然用字符串的处理办法也能实现

string str = @"C:\Users\成才\Desktop\Hashtable.txt";
            //返回文件名
            Console.WriteLine(Path.GetFileName(str));
            //返回文件名,但不包括扩展名
            Console.WriteLine( Path.GetFileNameWithoutExtension(str));
            //返回文件所在的文件夹名
            Console.WriteLine(Path.GetDirectoryName(str));
            //返回文件的扩展名
            Console.WriteLine(Path.GetExtension(str));
            //连接两个字符串作路径
            Console.WriteLine(Path.Combine(@"C:\a\","b.txt"));

2:File这个静态类是用来处理文件的(创建、删除、复制等)

File.Create(@"C:\a\b\d.txt");
File.Delete(@"C:\a\b\d.txt");
File.Cope(@"C:\a\b\d.txt");

编码:将字符串以怎样的格式保存为二进制。
乱码:产生乱码的原因就是你保存这个文件所采用的编码格式和你打开这个文件所采用的编码格式不一样。
文本文件:拖到txt文件中还能看懂的文件就是文本文件。

3:读取文本文件:
//以UTF-8的编码格式读取1.txt这个文件
byte[] buffer= File.ReadAllBytes(@”C:\Users\成才\Desktop\1.txt”);
string str=Encoding.GetEncoding(“UTF-8”).GetString(buffer);
Console.WriteLine(str);
Console.ReadKey();

4:向指定的路径写入文件:
//以默认的格式(ANSI)写入文件。
string str=”我们都有一个家,名字叫中国!!!!”;
byte[] buffer=Encoding.Default.GetBytes(buffer);
File.WriteAllBytes(@”C:\Users\成才\Desktop\2.txt”,buffer);
Console.ReadKey();

5:File.ReadAllLines(路径,读取的编码方式); //返回一个字符串数组
File.ReadAllText(路径,读取的编码方式); //返回一个字符串
前面这两个方法只能读取文本文件,不能读取音乐文件、多媒体文件等;
File.RradAllBytes(); //返回一个字节(byte)数组,可以读取各种文件,包括音乐、视频文件。

6:绝对路径和相对路径
绝对路径:通过给定的这个路径直接能在我的电脑中找到这个文件。
相对路径:文件相对于应用程序的路径。
我们在开发的过程中尽量使用相对路径;

7:File.WriteAllLines(路径,字符串数组);
File.WriteAllText(路径,字符串);
File.WriteAllBytes(路径,字节数组); //这三个方法都会覆盖掉之前文本中有的东西。

8:在文本的后面追加东西有这几个方法:
File.AppendAllLines(路径,字符串数组);
File.AppendAllText(路径,字符串);

File类只能用来读取小文件,读取大文件需要用文件流;

8:泛型List
List list=new List();
list.Add();
list.AddRange();
list.Remove();
list.removeAt();
list.Clear();
list.Reverse();
泛型要比数组方便的多,类型一旦确定就能像动态数组一样用,并且泛型和数组之间可以相互转化;
如:int[] nums=list.ToArrray();
string[] str={“a”,”b”,”c”};
List listtwo= str.ToList();

9:装箱、拆箱
装箱:将值类型转换为引用类型。
拆箱:将引用类型转换为值类型。
看两种类型是否发生了装箱或者拆箱,要看两者之间是否有继承关系;如果没有继承关系,一定没有发生装箱或者拆箱,有继承关系才有可能发生装箱或者拆箱。
在我们的代码中,要尽量避免装箱或者拆箱,因为这样时间会浪费内存,耗时较长。

10:Dictionary 字典
Dictionary

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页