当前位置:网站首页>c#磁盘驱动器及文件夹还有文件类的操作
c#磁盘驱动器及文件夹还有文件类的操作
2022-06-25 06:43:00 【ykxxcs】
c#文件及文件夹类的操作大全

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Driveinfo driveInfo = new Driveinfo("C"); //从网上抄的,有错
DriveInfo driveInfo = new DriveInfo("C");
MessageBox.Show(driveInfo.ToString());
MessageBox.Show("驱动器的名称:" + driveInfo.Name);
MessageBox.Show("驱动器的根目录:" + driveInfo.RootDirectory);
MessageBox.Show("驱动器是否准备好:" + driveInfo.IsReady);
MessageBox.Show("磁盘上可用空闲量:" + driveInfo.AvailableFreeSpace);
MessageBox.Show("驱动器上的可用空闲空间总量:" + driveInfo.TotalFreeSpace);
MessageBox.Show("驱动器上存储空间总大小:" + driveInfo.TotalSize);
MessageBox.Show("文件系统格式名称:" + driveInfo.DriveFormat);
MessageBox.Show("驱动器类型:" + driveInfo.DriveType);
MessageBox.Show("驱动器的卷标:" + driveInfo.VolumeLabel);
}
//获取计算机中所有驱动器名称和文件格式
private void button2_Click(object sender, EventArgs e)
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
if (drive.IsReady)
{
MessageBox.Show("驱动器名称:" + drive.Name);
MessageBox.Show("文件格式:" + drive.DriveFormat);
}
}
}
//使用 Directory 类在 D 盘上操作 code 文件夹,要求先判断是否存在该文件夹,
private void button3_Click(object sender, EventArgs e)
{
//如果存在则删除,否则创建该文件夹
if (Directory.Exists(@"D:\code"))
Directory.Delete(@"D:\code", true);
else
Directory.CreateDirectory(@"D:\code");
MessageBox.Show("ok");
}
private void button4_Click(object sender, EventArgs e)
{
//在 D 盘的 code 文件夹下创建名为 test1.txt 的文件,并获取该文件的相关属性,然后将其移动到D盘下的 code-1 文件夹中。
Directory.CreateDirectory(@"D:\code");
FileInfo fileInfo = new FileInfo(@"D:\code\test1.txt");
if (!fileInfo.Exists)
fileInfo.Create().Close();//创建文件。Close()关闭流并释放与之关联的所有资源
fileInfo.Attributes = FileAttributes.Normal;
MessageBox.Show("文件名:" + fileInfo.Name);
MessageBox.Show("文件父目录:" + fileInfo.Directory);
MessageBox.Show("文件的完整目录:" + fileInfo.FullName);
MessageBox.Show("目录的完整路径:" + fileInfo.DirectoryName);
MessageBox.Show("文件创建时间:" + fileInfo.CreationTime);
MessageBox.Show("文件扩展名:" + fileInfo.Extension);
MessageBox.Show("文件是否只读:" + fileInfo.IsReadOnly);
MessageBox.Show("上次访问文件时间:" + fileInfo.LastAccessTime);
MessageBox.Show("上次写入文件时间:" + fileInfo.LastWriteTime);
MessageBox.Show("文件大小:" + fileInfo.Length);
Directory.CreateDirectory(@"D:\code-1");//创建 code-1 文件夹
FileInfo newFileInfo = new FileInfo(@"D:\code-1\test1.txt");//判断 code-1文件夹下是否存在test1.txt
if (!newFileInfo.Exists)
fileInfo.MoveTo(@"D:\code-1\test1.txt");//不存在则移动文件
}
private void button5_Click(object sender, EventArgs e)
{
// Path path = new Path();
//string path = @"d:\code";
}
private void button6_Click(object sender, EventArgs e)
{
// Directory.CreateDirectory(@"D:\code");//创建目录
// File.Create(@"D:\code\test.txt").Close(); //在目录下创建文件
//====================================读取 D 盘 code 文件夹下 test.txt 文件中的信息。 ============
string path = @"D:\code\test.txt";
StreamReader reader = new StreamReader(path);
if (reader.Peek() != -1)//判断文件中是否有字符
{
// string str = reader.ReadLine();//只读一行
string str = reader.ReadToEnd();//全部读完
MessageBox.Show(str);
Console.ReadLine();
}
reader.Close();
}
private void button7_Click(object sender, EventArgs e)
{
//向 D 盘 code 文件夹的 test.txt 文件中写入姓名和手机号码
string path = @"D:\code\test.txt";
using (StreamWriter writer = new StreamWriter(path))
{
writer.WriteLine("姓名");
writer.WriteLine("手机号码");
writer.Flush();//刷新缓存
}
}
private void button8_Click(object sender, EventArgs e)
{
//在 D 盘 code 文件夹的 student.txt 文件中写入学生的学号信息
File.Create(@"D:\code\student.txt").Close();
string path = @"D:\code\student.txt";
string mes = "学号:3188906224";
byte[] bytes = Encoding.UTF8.GetBytes(mes);//将数据从字符串类型转换成字节类型
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Write))
{
fileStream.Write(bytes, 0, bytes.Length);
fileStream.Flush();
}
//从 D 盘的 code 文件夹中将 student.txt 文件中的学号读取出来,并显示到控制台上
if (File.Exists(path))
{
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
byte[] b = new byte[fileStream.Length];//定义存放文件信息的字节数组
fileStream.Read(b, 0, b.Length);//读取文件信息
char[] c = Encoding.UTF8.GetChars(b);//将读取的数据从字节类型转换成字符类型
Console.WriteLine(c);
}
}
else
Console.WriteLine("文件不存在");
Console.ReadLine();
}
}
}
在此,感谢博主:阿月浑子2021,本文部分内容转自下面链接
https://blog.csdn.net/weixin_56814032/article/details/120242871
边栏推荐
- Analysis of kinsing dual platform mining family virus
- The fourth floor is originally the fourth floor. Let's have a look
- DNS协议及其DNS完整的查询过程
- Startup, shutdown and restart of Oracle and MySQL on Linux
- 一文了解 | 革兰氏阳性和阴性菌区别,致病差异,针对用药
- 【论文学习】《VQMIVC》
- 产品经理专业知识50篇(四)-从问题到能力提升:AMDGF模型工具
- 将数据导入到MATLAB
- Dietary intervention reduces cancer treatment-related symptoms and toxicity
- 神经网络与深度学习-3- 机器学习简单示例-PyTorch
猜你喜欢

Can transparent cloud gateway caniot and candtu record can messages and send and receive can data remotely

This article uses pytorch to build Gan model!

"Spatial transformation" significantly improves the quality of ground point extraction of cliff point cloud

【论文学习】《VQMIVC》

年后求职找B端产品经理?差点把自己坑惨了......

微信小程序开通客服消息功能开发
![[little knowledge] PCB proofing process](/img/bf/f66677294a14baf08cc35d1e8c1e31.jpg)
[little knowledge] PCB proofing process

Fairmot yolov5s to onnx

Pcb|about FPC reinforcement type
![洛谷P1073 [NOIP2009 提高组] 最优贸易(分层图+最短路)](/img/cb/046fe4b47898fd6db86edc8a267c34.png)
洛谷P1073 [NOIP2009 提高组] 最优贸易(分层图+最短路)
随机推荐
SCM Project Training
2160. minimum sum of the last four digits after splitting
Introduction to the main functions of the can & canfd comprehensive test and analysis software lkmaster of the new usbcan card can analyzer
洛谷P3313 [SDOI2014]旅行(树链+边权转点权)
57. insert interval
How much do you know about electronic components on PCB?
深度学习系列48:DeepFaker
Dietary intervention reduces cancer treatment-related symptoms and toxicity
C reads XML on the web
MySQL interview - the response of executing SQL is relatively slow, and the troubleshooting ideas.
【深度学习 轻量型backbone】2022 EdgeViTs CVPR
挖掘微生物暗物质——新思路
50. pow (x, n) - fast power
What are the problems with traditional IO? Why is zero copy introduced?
神经网络与深度学习-3- 机器学习简单示例-PyTorch
【视频】ffplay 使用mjpeg格式播放usb摄像头
Analysis and utilization of Microsoft Office Word remote command execution vulnerability (cve-2022-30190)
Ph中和过程建模
新版USBCAN卡CAN分析仪的CAN&CANFD综合测试分析软件LKMaster主要功能介绍
Invalid Navicat scheduled task