一、文件操作
class Program
{
static void Main(string[] args)
{
FileInfo file = new FileInfo(@"C:\Users\luhui\source\repos\文件操作\文件操作\bin\Debug\TextFile1.txt");
if(file.Exists == true)
{
Console.WriteLine(file.Directory);//文件路径
Console.WriteLine(file.Length);//文件大小
Console.WriteLine(file.IsReadOnly);//文件是否为只读
Console.WriteLine(file.Name);//
FileInfo file2 = new FileInfo("my.txt");
if(file2.Exists == false)
{
file2.Create();
}
file2.MoveTo("my1.text");
file.Delete();
}
Console.ReadKey();
}
}
二、文件夹操作
class Program
{
static void Main(string[] args)
{
DirectoryInfo directory = new DirectoryInfo("test1");
if(directory.Exists == false)
{
directory.Create();
}
Console.WriteLine(directory.Name);//得到目录名
Console.WriteLine(directory.Root);//得到目录根节点(即为所在盘符)
Console.WriteLine(directory.Parent);//的到上一级目录名
Console.WriteLine(directory.CreationTime);//得到目录的创建时间,创建马上查看时会读取错误?
directory.CreateSubdirectory("test2");//在该目录下创建子目录
Console.ReadKey();
}
}
三、文件读写
static void Main(string[] args)
{
byte[] data = File.ReadAllBytes("c#.PNG");//读文件根据字节
foreach (var i in data)
{
Console.WriteLine(i);
}
Console.ReadKey();
File.WriteAllBytes("B#.PNG", data);//写文件根据字节
Console.ReadKey();
File.WriteAllLines("line.txt", new string[] { "dsajkhfka", "djkshafjkda", "sjkfhalk" });//写文件根据分行字符串
string[] line = File.ReadAllLines("line.txt");//读文件根据分行字符串
foreach (var i in line)
{
Console.WriteLine(i);
}
Console.ReadKey();
File.WriteAllText("text.txt", "我是text");//写文件不分行字符串
string text = File.ReadAllText("text.txt");//读文件部分行字符串
Console.WriteLine(text);
Console.ReadKey();
}
}
四、文件读写流操作
static void Main(string[] args)
{
FileStream Read = new FileStream("壁纸.jpg", FileMode.Open);
FileStream Write = new FileStream("新建的壁纸.jpg", FileMode.Create);
byte[] data = new byte[1024];
while (true)
{
int length = Read.Read(data, 0, data.Length);//从流中读写文件会自动移动已经读写的文件下标
if (length != 0)
{
Write.Write(data, 0, length);
}
else
{
Console.WriteLine("复制结束");
break;
}
}
Console.ReadKey();
}
}