当前位置:网站首页>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
边栏推荐
- ts环境搭建
- 【Unexpected token o in JSON at position 1出错原因及解决方法】
- 挖掘微生物暗物质——新思路
- AttributeError: ‘Upsample‘ object has no attribute ‘recompute_ scale_ factor‘
- Sword finger offer II 027 Palindrome linked list
- CAN透传云网关CANIOT,CANDTU记录CAN报文远程收发CAN数据
- 基于Anaconda的模块安装与注意事项
- 【日常训练】207. 课程表
- 【补题】2021牛客暑期多校训练营6-n
- Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134漏洞分析与防护
猜你喜欢
剑指offer刷题(简单等级)
Dietary intervention reduces cancer treatment-related symptoms and toxicity
OAuth 2.0 one click login
神经网络与深度学习-3- 机器学习简单示例-PyTorch
Application of can optical transceiver of ring network redundant can/ optical fiber converter in fire alarm system
The fourth floor is originally the fourth floor. Let's have a look
Import data into Matlab
How to resize an image in C #
Hisilicon 3559 sample parsing: Vio
CAN总线工作状况和信号质量“体检”
随机推荐
MySQL简单权限管理
【补题】2021牛客暑期多校训练营1-3
1464. maximum product of two elements in an array
DNS协议及其DNS完整的查询过程
神经网络与深度学习-3- 机器学习简单示例-PyTorch
One "stone" and two "birds", PCA can effectively improve the dilemma of missing some ground points under the airborne lidar forest
OpenCV每日函数 结构分析和形状描述符(8) fitLine函数 拟合直线
力扣76题,最小覆盖字串
Buckle 78: subset
Runtime - Methods member variable, cache member variable
What are the benefits of reserving process edges for PCB production? 2021-10-25
2160. minimum sum of the last four digits after splitting
PCB board design - automatic layout 2021-10-15
LeetCode_哈希表_中等_454.四数相加 II
navicat定时任务无效
bat启动.NET Core
@Resource和@Autowired注解的不同,为什么推荐@Resource?
Atlassian confluence漏洞分析合集
Sword finger offer II 027 Palindrome linked list
Requirements for Power PCB circuit board design 2021-11-09