前言:
实现写入和读取文件、模拟写入系统日志、删除、复制和移动文件,以及创建、显示和删除目录
一、界面设计
源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace IO文件操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// 写入文件
private void btnWrite_Click(object sender, EventArgs e)
{
// 1、创建文件流
FileStream fs = new FileStream(@"C:\Users\CGW\source\repos\IO文件操作\文件操作.txt",FileMode.Create);
// 2、创建写入器
StreamWriter sw = new StreamWriter(fs);
// 3、以流的方式写入数据
sw.Write(this.textContent.Text.Trim());
// 4、关闭写入器
sw.Close();
// 5、关闭文件流
fs.Close();
}
// 读取文件
private void btnRead_Click(object sender, EventArgs e)
{
// 1、创建文件流
FileStream fs = new FileStream(@"C:\Users\CGW\source\repos\IO文件操作\文件操作.txt", FileMode.Open);
// 2、创建读取器
//StreamReader sr = new StreamReader(fs, Encoding.Default);默认方式打开
StreamReader sr = new StreamReader(fs);
// 3、以流的方式读取数据
this.textContent.Text = sr.ReadToEnd();
// 4、关闭读取器
sr.Close();
// 5、关闭文件流
fs.Close();
}
// 模拟写入系统日志
private void btnWriteSYS_Click(object sender, EventArgs e)
{
// 1、创建文件流
FileStream fs = new FileStream(@"C:\Users\CGW\source\repos\IO文件操作\文件操作.txt", FileMode.Append);
// 2、创建写入器
StreamWriter sr = new StreamWriter(fs);
// 3、以流的方式逐行写入数据
sr.WriteLine(DateTime.Now.ToString() + "文件操作成功");
// 4、关闭写入器
sr.Close();
// 5、关闭文件流
fs.Close();
}
// 删除文件
private void btnDelete_Click(object sender, EventArgs e)
{
File.Delete(this.txtTo.Text.Trim());
}
// 复制文件
private void btnCopy_Click(object sender, EventArgs e)
{
if (File.Exists(this.txtTO.Text.Trim())) // 判断文件是否存在,存在就先删除文件
{
File.Delete(this.txtTO.Text.Trim());
}
File.Copy(this.txtTo.Text.Trim(), this.txtTo.Text.Trim()); // 复制文件到
}
// 移动文件
private void btnMove_Click(object sender, EventArgs e)
{
// 先判断目标路径文件是否存在(文件存在时直接复制会出现错误)
if (File.Exists(this.txtFrom.Text.Trim()))
{
File.Delete(this.txtFrom.Text.Trim()); // 删除文件
}
if (File.Exists(this.txtTO.Text.Trim())) // 如果当前文件存在就移动
{
// 移动文件
File.Move(this.txtFrom.Text.Trim(), this.txtTO.Text.Trim());
}
else
{
MessageBox.Show("文件不存在!");
}
}
// 显示指定目录下的所有文件
private void btnShowAllFiles_Click(object sender, EventArgs e)
{
string[] files = Directory.GetFiles(@"myfiles");
this.textContent.Clear();
foreach (string item in files)
{
this.textContent.Text += item + Environment.NewLine;
}
}
// 创建目录
private void btnCreate_Click(object sender, EventArgs e)
{
Directory.CreateDirectory(@"myfiles\newfiles");
}
private void btnDelAllFiles_Click(object sender, EventArgs e)
{
//Directory.Delete(@"myFiles\newfiles"); // 要求删除的目录必须为空
// 使用DirectoryInfo对象,可以删除不为空的目录
DirectoryInfo Del = new DirectoryInfo(@"myfiles\newfiles");
Del.Delete(true);
}
// 显示指定目录下的所有子目录
private void btnShowSubDirs_Click(object sender, EventArgs e)
{
string[] dirs = Directory.GetDirectories("myfiles");
this.textContent.Clear();
foreach (string item in dirs)
{
this.textContent.Text += item + Environment.NewLine;
}
}
}
}
源码文件:https://download.csdn.net/download/m0_55074196/88646393