File类
下图是File类所在的命名空间;且从下边可看出File类是一个静态类。
File静态类的方法
(1)File.Create( string path)
在指定路径中创建或覆盖一个文件(注意:如果指定路径下已经有此文件,那么原有的会被覆盖)
static void Main(string[] args)
{
File.Create(@"C:\Users\Administrator\Desktop\1.txt");
}
(2)File.Delete( string path)
根据指定路径删除一个文件(注意:此删除是彻底删除,回收站也没有)
static void Main(string[] args)
{
File.Delete(@"C:\Users\Administrator\Desktop\1.txt");
}
(3)File.Copy( string originPath, string newPath)
根据指定路径复制一个文件;
参数一:要复制的文件路径
参数二:复制出来的新的文件路径及文件名字
注意:
1> 如果要复制的文件不存在,编辑器会报错;
2> 如果参数一和参数二路径及文件名一样,编辑器会报错;
3> 新复制出来的文件与原来文件大小、里边内容都是一样的。
static void Main(string[] args)
{
File.Copy(@"C:\Users\Administrator\Desktop\debug.log", @"C:\Users\Administrator\Desktop\newDebug.log");
}
(4)File.Exists( string originPath )
判断一个文件是否存在,参数为文件路径,返回值为布尔类型;
static void Main(string[] args)
{
bool isExists = File.Exists(@"C:\Users\Administrator\Desktop\newDebug.log");
Console.WriteLine(isExists);
Console.Read();
}
(5)File.Move()
将指定的文件移到新位置(等于剪切一个文件到新的地方);
参数一:原始文件路径;
参数二:新的文件路径及名字。
注意:
1> 如果新指定的文件路径和文件名存在则编辑器会报错;
static void Main(string[] args)
{
File.Move(@"C:\Users\Administrator\Desktop\debug.log", @"C:\Users\Administrator\Desktop\newDebug.log");
}
(6)File.ReadAllBytes()
读取一个文件内容,返回的是这个文件内容的字节数组;
static void Main(string[] args)
{
// 以二进制字节数组的形式给读出来
byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\1.txt");
// 使用下边方法把二进制字节数组转为字符串,我们才能看到真正的内容
// 下边Encoding后边是一个编码格式,默认使用UTF8即可
string str = System.Text.Encoding.UTF8.GetString(buffer);
Console.WriteLine(str);
Console.ReadLine();
}
(7)File.ReadAllLines(string path, Encoding.encoding)
读取一个文件的所有行,返回包含文件所有行的字符串数组;
参数一:文件的路径;
参数二:编码格式,如果不指定编码格式,所输出的文件内容很有可能是乱码!!!
原始文件:
static void Main(string[] args)
{
string[] str = File.ReadAllLines(@"C:\Users\Administrator\Desktop\1.txt", Encoding.UTF8);
Console.WriteLine(str.Length);
for (int i = 0; i < str.Length; i ++)
{
Console.WriteLine(str[i]);
}
Console.ReadLine();
}
输出结果:
(8)File.ReadAllText(string path, Encoding.encoding)
读取一个文件的所有行,返回包含文件所有行的字符串;
与ReadAllLines区别在于:返回的结果不同;
补充小常识:
1024byte = 1kb
1024kb = 1M
1024M = 1G
1024G = 1T
1024T = 1PT