• 创建文件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常用操作笔记的更多相关文章

  1. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  2. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  3. js--javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  4. javascript中字符串常用操作总结

    String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不 ...

  5. Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)

    平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...

  6. git工作中的常用操作

    上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...

  7. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  8. git常用操作笔记

    这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...

  9. CentOS中Mysql常用操作

    安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下方) ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:toolButton的popupMode属性

    属性介绍 toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式: 1. ...

  2. 「Elasticsearch」SpringBoot快速集成ES

    Elastic Search 的底层是开源库 Lucene.但是Lucene的使用门槛比较高,必须自己写代码去调用它的接口.而Elastic Search的出现正是为了解决了这个问题,它是 Lucen ...

  3. Shiro remeberMe反序列化漏洞复现(Shiro-550)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性.在Apache Shiro编号为550的 issu ...

  4. Java获取不到请求的真实IP

    问题 最近在写博客浏览量的时候,设计了这么一个逻辑:同一个IP浏览一遍文章,5分钟内不刷新次数.就需要在服务器端得到用户的真实IP,我代码是这样写的(从网上找的方法): public static S ...

  5. redis学习之——持久化RDB 和AOF

    RDB: 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里.rdb 保存的是dump.rdb文件 RDB工作原理: Redis会 ...

  6. SnowFlakeldWorker

    SnowFlakeldWorker java /** * Twitter_Snowflake * SnowFlake的结构如下(每部分用-分开): * 0 - 0000000000 000000000 ...

  7. java多线程之消费生产模型-使用synchronized解决虚假唤醒

    package com.wenshao.juc; /** * 生产者和消费者案例 * * @author Administrator * */ public class TestProductorAn ...

  8. Vue--子组件相互传参

    引用了element做按钮组件 父组件 创建子组件公用的空vue变量,为pubVue,并传给需要互相传参/互相调用方法的两个子组件 <template> <div> <b ...

  9. MyBatis详细源码解析(上篇)

    前言 我会一步一步带你剖析MyBatis这个经典的半ORM框架的源码! 我是使用Spring Boot + MyBatis的方式进行测试,但并未进行整合,还是使用最原始的方式. 项目结构 导入依赖: ...

  10. js下 Day05、DOM案例

    一.简易购物车 效果图: 功能思路分析: 功能一:数量加减 \1. 找到所有的加号按钮,循环绑定点击事件.点击加号时让对应的数量+1 (找清楚加号和数量的关系,让数量标签的内容++) \2. 找到所有 ...