File类位于命名空间,主要用来操作文件如创建文件、删除文件、复制剪贴文件读写文件等。
一般在操作文件之前需要判断文件是否存在,()方法用来判断文件是否存在,如果存在返回true,如果不存在则返回false。
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\新建文本文档.txt"))
-
{
-
("文件存在");
-
}
-
();
-
}
一、File类的基本操作:
1)( ) 方法 → 用来创建文件
-
static void Main(string[] args)
-
{
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt");
-
("创建完毕");
-
();
-
}
2) ( ) 方法 → 用来删除文件
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt"); //如果文件存在则删除文件
-
}
-
("删除成功");
-
();
-
}
3)( ) 方法 → 复制文件
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", @"C:\Users\HUAWEI\Desktop\我是复制后的文件.txt");
-
}
-
("复制成功");
-
();
-
}
4)File.Move( ) 方法 → 剪贴文件
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", @"C:\Users\HUAWEI\Desktop\我是剪贴过来的文件.txt");
-
}
-
("剪贴成功");
-
();
-
}
二、File类的文件读写操作:
File类的文件读取的常用三种方式——()、()、()
1)() 以字节数组的形式读取全部文件,可以读取任意类型的文件,返回字节数组
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
byte[] buffer= (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt"); //读取文件,返回字节数组
-
string str = Encoding.(buffer); //将字节数组转换成字符串
-
(str);
-
}
-
("读取成功");
-
();
-
}
2)() 以字符串数组的方式读取所有行,该种方式需要遍历输出!!!(仅能操作文本文件)
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
string[] str = (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt");
-
foreach (string s in str) //遍历输出
-
{
-
(s);
-
}
-
}
-
("读取成功");
-
();
-
}
3)() 读取所有文本,返回字符串,Encoding用来设置编码格式,一般没有乱码的情况下可以省略(仅能操作文本文件)
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
string str = (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt",Encoding.UTF8); //读取文本文件中的全部内容
-
(str);
-
}
-
("读取成功");
-
();
-
}
File类的文件写入同样三种方式与读取的方式一一对应:
() → ()
() → ()
() → ()
1)() 以字节数组的形式写入,写入之前需要将文字转换成字节数组
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
string s = "我是写入的文档";
-
byte[] bytes = Encoding.(s);
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", bytes);
-
}
-
("写入成功");
-
();
-
}
2)() 以字符串数组的形式写入
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
string [] s = {"你好","我是写入的文字" };
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", s);
-
}
-
("写入成功");
-
();
-
}
3)() 以字符串的形式写入
-
static void Main(string[] args)
-
{
-
if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
-
{
-
string s = "我是写入的文档";
-
(@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt",s);
-
}
-
("写入成功");
-
();
-
}
以上三种写入方式均为覆盖写入!!!