目录
C# 基础知识(九)_文件的操作
I/O 类
System.IO 命名空间中常用的非抽象类:
具体的功能实现
文件夹的创建,删除
方法一:Directory
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string folderPath = @"D:\TestFolder";
static void Main(string[] args)
{
#region 创建,删除文件夹
bool isExists = Directory.Exists(folderPath);//文件夹是否存在
if (isExists)
{
//删除空文件夹
//Directory.Delete(folderPath);
//删除有内容的文件夹,并把内容也删除
Directory.Delete(folderPath, true);
Console.WriteLine("文件夹已存在,删除成功");
}
Directory.CreateDirectory(folderPath);
Console.WriteLine("创建文件夹");
#endregion
Console.ReadKey();
}
}
}
方法二:DirectoryInfo
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string folderPath = @"D:\TestFolder";
static void Main(string[] args)
{
#region 创建,删除文件夹
DirectoryInfo dtInfo = new DirectoryInfo(folderPath);
bool isExists = dtInfo.Exists;
if (isExists)
{
//删除空文件夹
//dtInfo.Delete();
//删除有内容的文件夹,并把内容也删除
dtInfo.Delete(true);
Console.WriteLine("文件夹已存在,删除成功");
}
dtInfo.Create();
Console.WriteLine("创建文件夹");
#endregion
Console.ReadKey();
}
}
}
文件的创建,删除
方法一:File
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 创建,删除文件
bool isExists = File.Exists(filePath);
if (isExists)
{
File.Delete(filePath);
Console.WriteLine("文件已存在,删除");
}
File.Create(filePath);
Console.WriteLine("文件创建");
#endregion
Console.ReadKey();
}
}
}
方法二:FileInfo
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 创建,删除文件
FileInfo fl = new FileInfo(filePath);
bool isExists = fl.Exists;
if (isExists)
{
fl.Delete();
Console.WriteLine("文件已存在,删除");
}
fl.Create();
Console.WriteLine("文件创建");
#endregion
Console.ReadKey();
}
}
}
写入文本文件
方法一:FileStream
using System;
using System.IO;
using System.Text;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 写入文本文件
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
string msg = "好好学习,天天向上";
byte[] data = Encoding.UTF8.GetBytes(msg);
fs.Write(data);
fs.Close();
#endregion
Console.ReadKey();
}
}
}
方法二:StreamWriter
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 写入文本文件
StreamWriter sw = new StreamWriter(filePath);
sw.WriteLine("好好学习,天天向上");
sw.Write("1234567");
sw.Write("89");
sw.Close();
#endregion
Console.ReadKey();
}
}
}
方法三:FileStream,BinaryWriter
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 写入文本文件
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
byte[] datas = System.Text.Encoding.UTF8.GetBytes("好好学习,天天向上");
bw.Write(datas);
bw.Close();
fs.Close();
#endregion
Console.ReadKey();
}
}
}
读取文本文件
方法一:FileStream
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 读取文本文件
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] datas = new byte[1024];
fs.Read(datas);
fs.Close();
string s = System.Text.Encoding.UTF8.GetString(datas);
Console.WriteLine(s);
#endregion
Console.ReadKey();
}
}
}
方法二:StreamReader
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 读取文本文件
StreamReader sr = new StreamReader(filePath);
string s = sr.ReadToEnd();
sr.Close();
Console.WriteLine(s);
#endregion
Console.ReadKey();
}
}
}
方法三:FileStream,BinaryReader
using System;
using System.IO;
namespace Notes
{
class Program
{
public static string filePath = @"D:\TestFolder\TestFile.txt";
static void Main(string[] args)
{
#region 读取文本文件
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] datas = br.ReadBytes(1024);
br.Close();
fs.Close();
string s = System.Text.Encoding.UTF8.GetString(datas);
Console.WriteLine(s);
#endregion
Console.ReadKey();
}
}
}