c#中io常用操作笔记
- 创建文件1
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名不能为空");
}
else
{
if (File.Exists(textBox1.Text)) //使用file类的exist方法判断要创建的文件名是否存在
{
MessageBox.Show("文件已经存在");
}
else
{
File.Create(textBox1.Text);//使用file类的create方法创建文件
MessageBox.Show("文件已创建!");
}
}
}
- 创建文件2
//file类和fileinfo类的区别就是fileinfo需要实例化
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名不能为空");
}
else
{
FileInfo finfo = new FileInfo(textBox1.Text); //实例化Fileinfo类对象
//使用fileinfo类的exit方法判断文件是否存在
if (finfo.Exists)
{
MessageBox.Show("文件名已经存在!");
}
else
{
finfo.Create();//创建文件
MessageBox.Show("文件已经创建");
}
}
}
- 创建文件夹1
private void btnEnter_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名不能为空!");
}
else
{
if (Directory.Exists(textBox1.Text)) //使用directory类的Exists的方法判断要创建的文件夹是否存在
{
MessageBox.Show("文件已存在!");
}
else
{
//使用directlory类的CreateDirectory方法创建文件夹
Directory.CreateDirectory(textBox1.Text);
MessageBox.Show("文件已经创建!"); }
}
}
- 遍历文件夹
private void button1_Click(object sender, EventArgs e)
{
listView1.Items.Clear();//清空listview中的项
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) //如果打开了对话框控件,而且已经选择好了相应的文件
{
textBox1.Text=folderBrowserDialog1.SelectedPath;
//实例化DirectoryInfo类对象
DirectoryInfo dinfo = new DirectoryInfo(textBox1.Text);
//获取指定目录下所有子目录及文件类型
FileSystemInfo[] fsinfos = dinfo.GetFileSystemInfos();//这是获取文件夹内容的一种方式
foreach (FileSystemInfo fsinfo in fsinfos)
{
if (fsinfo is DirectoryInfo) //判断是否文件夹
{
//使用获取的文件夹名称实例化Directoryinfo对象
DirectoryInfo dirinfo = new DirectoryInfo(fsinfo.FullName);
//为listview控件添加信息
listView1.Items.Add(dirinfo.Name);
listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.FullName);
listView1.Items[listView1.Items.Count - 1].SubItems.Add("");
listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.CreationTime.ToShortDateString());
}
else
{
//使用textbox的值实例化fileinfo对象
FileInfo finfo = new FileInfo(fsinfo.FullName);
//为listview控件添加文件信息
listView1.Items.Add(finfo.Name);
listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.FullName);
listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.Length.ToString());
listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.CreationTime.ToShortDateString());
}
}
}
}
设计界面

- I/O流操作文本
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("要写入的文件不能为空!");
}
else
{
//设置文件的保存格式
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//使用“另存为”对话框中输入文件名实力化StreamWriter类对象
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
//想创建的文件中写入内容
sw.WriteLine(textBox1.Text);
//关闭当前的文件写入流
sw.Close();
textBox1.Text = string.Empty;
}
}
} private void button2_Click(object sender, EventArgs e)
{
//设置打开的文件的格式
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = string.Empty;//清空文本框
//使用打开对话框中选择的文件实例化StreamReader对象
StreamReader sr = new StreamReader(openFileDialog1.FileName, true);
//调用ReadToEnd方法读取选中的文件的全部内容
textBox1.Text = sr.ReadToEnd();
//关闭当前的文件流
sr.Close();
}
}
设计界面:
c#中io常用操作笔记的更多相关文章
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- js--javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- javascript中字符串常用操作总结
String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不 ...
- Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)
平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...
- git工作中的常用操作
上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
- git常用操作笔记
这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...
- CentOS中Mysql常用操作
安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下方) ...
随机推荐
- 第5.3节 详说Python风格的函数分配参数
一. 分配参数的定义 参数收集就是在定义函数时不能确认参数个数,用收集参数将调用时不确定数量的实参存放到收集参数的元组中.分配参数与此过程相反,它不是在定义函数形参时使用星号(1个或2个),而是 ...
- PyQt(Python+Qt)学习随笔:QScrollArea的widgetResizable属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域的widgetResizable属性用于控制滚动区域的内容部署层是否应跟随滚动区域的大小变化 ...
- 大数据技术体系 && NoSQL数据库的基本原理
1.NoSQL产生的原因 目前关系型数据库难以应对日益增多的海量数据,横向的分布式扩展能力比较弱,因此构建出非关系型数据库(所谓的NoSQL),其目的是为了构建一种结构简单.分布式.易扩展.效率高且使 ...
- 你必须掌握的关于JVM知识点
对本文所持态度 抓住主要矛盾,抓住重点学习,然后从这些点展开学. 不管是面试别人,还是参加面试.都可以有收获. JDK体系结构与JVM架构解析 jdk jre javac jvm Java是怎么实现跨 ...
- 半夜删你代码队 Day4冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 做了新规划 开始双人合作 无 侯晓龙 写了第一个例子 开始双人合作 无 周楚池 准备合作 开始双人合作 无 胡 ...
- Nginx 转发时的一个坑,运维居然让我背锅!!
最近遇到一个 Nginx 转发的坑,一个请求转发到 Tomcat 时发现有几个 http header 始终获取不到,导致线上出现 bug,运维说不是他的问题,这个锅我背了. 新增的几个 header ...
- SQL实现_同时在线人数
原始数据表结构如下: user_id login_time logout_time 12 2020-12-10 20:45:18 2020-12-10 21:45:18 只说下实现思路,SQL不太难, ...
- Vue高仿网易云网页端源码
音乐播放器虽然烂大街了,但是作为前端没自己撸一个一直是个遗憾, 而且偶然间发现 pc 端 web 版的网易云音乐做的实在是太简陋了, 社区仿 pc 客户端的网易云也不多见,为了弥补这个遗憾, 就用 ...
- mysql: SOURCE error 2?
mysql: SOURCE error 2? mysql -uroot -p ****** # 路径输入错误,会抛出这个异常 mysql> source /var/lib/ambari-serv ...
- 面试 03-DOM事件的总结
03-DOM事件的总结 #前言 要学习事件的基础内容,请看先本人之前的基础文章: <04-JavaScript基础/27-事件对象Event> <04-JavaScript基础/28 ...