文件类操作需要引入命名空间
using System.IO;
文件夹操作需要以下两个类
System.IO.Directory; // 操作文件夹使用方法
System.IO.DirectoryInfo; // 操作文件夹使用方法
Directory类方法:
CreateDirectory() 创建指定路径中的目录
Move() 将目录和目录中的文件移到指定位置
Delete() 删除指定的目录
Exists() 确定指定目录上的目录是否存在
GetDirectories() 获取指定目录中所有子目录的名称
GetFiles() 获取指定目录中所有文件的名称
GetParent() 获取指定目录的父目录,指定目录可以是绝对路径,也可以是相对路径。
GetCurrentDirectory() 获取应用程序当前工作的目录
GetCreationTime() 设置文件或目录的创建日期和时间
GetLastAccessTime() 获取文件或目录上次修改的日期和时间
GetLastWriteTime() 获取文件目录上次修改的日期和时间
SetCreationTime() 设置文件或目录的创建日期和时间
SetLastAccessTime() 设置文件或目录上次访问的日期和时间
SetLastWriteTime() 设置文件或目录上次修改的日期和时间
例:创建文件夹:
private void createDir_Click(object sender, EventArgs e)
{
try
{
if (Directory.Exists(Global.Global.dir_str))
{
MessageBox.Show("文件夹已存在");
}
else
{
Directory.CreateDirectory(Global.Global.dir_str);
MessageBox.Show("创建成功");
}
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
在编写代码中尽量注意异常处理,遇到错误抛异常,别让程序死机。
可以多使用try-catch语法。
Path类方法和字段:
字段:
DirectorySeparatorChar 获取操作系统中的路径分隔符
PathSeparator 获取操作系统中环境变量中的分隔符
VolumeSeparatorChar 获取操作系统中的卷分隔符
方法:
GetFileName() 返回指定路径中的文件名(带扩展名)
GetFileNameWithoutExtension() 返回指定路径中的文件名(不带扩展名)
GetExension() 返回指定路径中的扩展名
ChangeExtension() 更改指定路径中的扩展名
GetDirectoryName() 返回指定路径中的目录信息
Combines() 合并两个路径的字符串
例:获取带扩展名的文件名
private void getFileName_Click(object sender, EventArgs e)
{
try
{
Global.Global.fileName = Path.GetFileName(Global.Global.file_str);
fileNames.Text = Global.Global.fileName;
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
Environment获取电脑的相关属性和方法
属性
Is64BitProcess 当前进程是否是一个64位进程
HasShutdownStarted 当前CLR关闭还是启动
Is64BitOperatingSystem 检查是否是64位系统
Version NET环境版本
GetCommandLineArgs 获取命令行参数
UserInteractive 是否是用户交互模式
GetEnvironmentVariables 获取系统环境变量
OSVersion 操作系统版本号
GetLogicalDrives 获取操作系统盘符
GetEnvironmentVariable 获取系统环境变量(Environment.GetEnvironmentVariable("path", EnvironmentVariableTarget.Process);)
MachineName 操作系统名称
WorkingSet 获取映射到进程上下文的物理内存量
SystemDirectory 系统盘路径
UserDomainName windows域账号
NewLine 换行符
SystemPageSize 获取操作系统的内存页的字节数。
TickCount & Int32.MaxValue 获取进程的CPU使用状况
ProcessorCount 获取系统进程数
UserName 系统用户名
GetEnvironmentVariable 获取操作系统环境变量
SetEnvironmentVariable 设置环境变量
Exit 退出
方法:
FailFast() 快速终止程序
GetCommandLineArgs 返回包含当前进程的命令行参数
GetFolder 获取系统中特殊文件夹的路径
GetLogicalDrives 返回当前计算器所有逻辑器名称
例:获取电脑信息
private void getComputerInfo_Click(object sender, EventArgs e)
{
try
{
Global.Global.computerName = System.Environment.UserName;
label_computerName.Text = Global.Global.computerName;
Global.Global.computerSystem = System.Environment.OSVersion.ToString();
label_System.Text = Global.Global.computerSystem;
Global.Global.socNum = System.Environment.ProcessorCount.ToString();
label_socNum.Text = Global.Global.socNum;
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
SpecialFolder特殊文件夹类
Mydocument 我的文档文件夹
MyMusic 我的音乐文件夹
MyPictures 我的图片
Desktop 桌面
Cookies 用于存储internet Cookies的目录
History 用于存储Internet历史记录的目录
InternetCache 用于存储Internet临时文件目录
Recent 包含用户最近使用过的文档目录
SendTo 包含“发送”菜单项的目录
StartMenu 包含“开始”菜单项的目录
StartUp 对应于用户“启动”程序组的目录
ProgramFiles ProgramFiles 目录
System system目录
测试使用全部代码
Form1.cs
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;
using Global;
namespace C文件操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cover.Checked = true;
}
///
/// 创建文件夹按钮点击事件
///
private void createDir_Click(object sender, EventArgs e)
{
try
{
if (Directory.Exists(Global.Global.dir_str))
{
MessageBox.Show("文件夹已存在");
}
else
{
Directory.CreateDirectory(Global.Global.dir_str);
MessageBox.Show("创建成功");
}
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
///
/// 创建文件
///
private void createFile_Click(object sender, EventArgs e)
{
try
{
if (File.Exists(Global.Global.file_str))
{
MessageBox.Show("文件已存在");
}
else
{
//File.CreateText(file_str);
File.Create(Global.Global.file_str).Close();
}
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
///
/// 文件内容写入
///
private void writeFile_Click(object sender, EventArgs e)
{
try
{
if (File.Exists(Global.Global.file_str))
{
Global.Global.content = contentRich.Text;
if (Global.Global.content == "")
{
MessageBox.Show("请输入内容");
}
Global.Global.radioChoose = cover.Checked;
if (Global.Global.radioChoose)
{
coverWrite(Global.Global.content);
}
else
{
appendWrite(Global.Global.content);
}
}
else
{
MessageBox.Show("文件不存在");
}
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
///
/// 覆盖写入
///
public void coverWrite(string str)
{
File.WriteAllText(Global.Global.file_str,str);
}
///
/// 追加写入
///
public void appendWrite(string str)
{
StreamWriter sw = File.AppendText(Global.Global.file_str);
// 文件写入不换行
//sw.Write(str);
// 文件写入换行
sw.WriteLine(str);
// 关闭文件流
sw.Close();
}
///
/// 获取文件信息
///
private void getFileInfo_Click(object sender, EventArgs e)
{
try
{
// 实例化fileinfo类
FileInfo ff = new FileInfo(Global.Global.file_str);
// 文件路径
Global.Global.filePath = ff.DirectoryName;
filePath.Text = Global.Global.filePath;
// 文件大小
/*Int32 files = (Int32)ff.Length;
double xx = files / 1024;
Global.Global.fileSize = System.Math.Ceiling(xx);
fileSize.Text = Global.Global.fileSize.ToString();//*/
Global.Global.fileSize = System.Math.Ceiling(ff.Length / 1024.0).ToString();
fileSize.Text = Global.Global.fileSize + "KB" ;
//文件创建时间
Global.Global.fileCreateTime = ff.CreationTime.ToString();
createTime.Text = Global.Global.fileCreateTime;
// 文件修改时间
Global.Global.fileUpdateTime = ff.LastWriteTime.ToString();
updateTime.Text = Global.Global.fileUpdateTime;
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
///
/// 获取文件名(指定路径)
///
private void getFileName_Click(object sender, EventArgs e)
{
try
{
Global.Global.fileName = Path.GetFileName(Global.Global.file_str);
fileNames.Text = Global.Global.fileName;
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
///
/// 获取电脑信息
///
private void getComputerInfo_Click(object sender, EventArgs e)
{
try
{
Global.Global.computerName = System.Environment.UserName;
label_computerName.Text = Global.Global.computerName;
Global.Global.computerSystem = System.Environment.OSVersion.ToString();
label_System.Text = Global.Global.computerSystem;
Global.Global.socNum = System.Environment.ProcessorCount.ToString();
label_socNum.Text = Global.Global.socNum;
}
catch (Exception q)
{
MessageBox.Show(q.Message);
}
}
}
}
Global.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Global
{
///
/// 存放全局变量的类
///
public class Global
{
///
/// 文件夹路径
///
public static string dir_str = @"F:codeFiles";
///
/// 文件路径
///
public static string file_str = @"F:codeFilesfile.txt";
///
/// 文件内容
///
public static string content = "";
///
/// 是否覆盖写入标识
///
public static bool radioChoose = true;
///
/// 文件大小
///
public static string fileSize;
///
/// 文件路径
///
public static string filePath;
///
/// 文件创建时间
///
public static string fileCreateTime;
///
/// 文件修改时间
///
public static string fileUpdateTime;
///
/// 文件名
///
public static string fileName;
///
/// 电脑名称
///
public static string computerName;
///
/// 电脑系统
///
public static string computerSystem;
///
/// 电脑核心数
///
public static string socNum;
}
}
有好的建议,请在下方输入你的评论。
欢迎访问个人博客
https://guanchao.site
欢迎访问小程序: