Windowsforms 中对话框,流、文件操作
对话框:
1、颜色选择控件——ColorDialog
//显示颜色选择器 colorDialog1.ShowDialog(); //把取到的颜色赋值给panel panel1.BackColor = colorDialog1.Color;
2、文件夹选择控件——FolderBrowserDialog
//显示文件夹选择器
folderBrowserDialog1.ShowDialog();
//把取到的文件夹用label1显示
label1.Text = folderBrowserDialog1.SelectedPath;
3、字体样式选择控件——FontDialog
//显示出来
fontDialog1.ShowDialog();
//选用字体样式改变label1字体样式
label1.Font = fontDialog1.Font;
4、文件选择控件——openFileDialog
//设置打开类型的文件
openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";
//显示
DialogResult dr = openFileDialog1.ShowDialog();
//取值
if (dr == DialogResult.OK)
{
label3.Text = openFileDialog1.FileName;
}
5、保存路径选择控件——saveFileDialog
saveFileDialog1.ShowDialog();
label1.Text = saveFileDialog1.FileName;
二、流 (I/O)输入输出流
分类:文件流,内存流,网络流
需要引用命名空间——using system .IO;
二进制转换需要的命名空间——using system .Text;
FileStream:文件流——一般用第三个重载方法
三个参数:1、路径2、打开模式3、访问方式
FileStream stream = new FileStream(@"d:\文件名.类型"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读));
第二个参数:
- CreateNew ——指定操作系统应创建新文件,如果文件存在则引发异常。
- Create——指定操作系统创建新文件,如果文件已存在则覆盖之。
- OPen——指定 操作系统应打开现有文件,如果文件不存在则抛出异常。
- OpenOrCreate——指定操作系统应打开文件,如果文件不存在则创建之。
- Truncate——指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。
- Append——若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。
第三个参数:
- Read 对文件的读访问,拥有读取权限。
- Write 对文件的写访问,拥有写入权限。
- ReadWrite 对文件的读访问和写访问,拥有读取和写入两个权限。
属性:
- Length:流的长度
- Position:流的当前位置,探测光标的当前位置
用法:
1、读文件:
//显示工具
DialogResult dr = openFileDialog1.ShowDialog();
//取值
if (dr == DialogResult.OK)
{
//文件路径
string path = openFileDialog1.FileName;
//造文件流
FileStream fs = new FileStream(path,FileMode.Open);
//造一个二进制数组,用来存储读到的数据
byte[] sj = new byte[fs.Length];
//将文件读取为二进制数据,放到二进制数组里面
fs.Read(sj,,sj.Length);
//将二进制数据转为字符串
richTextBox1.Text = Encoding.Default.GetString(sj);
//关闭流
fs.Close();
}
2、写文件:
//显示选择文件对话框
DialogResult dr = saveFileDialog1.ShowDialog();
//取路径
if (dr == DialogResult.OK)
{
//文件路径
string path = saveFileDialog1.FileName;
//取出文本框中的内容
string nr = richTextBox1.Text;
//将字符串转为二进制数组
byte[] sj = Encoding.Default.GetBytes(nr);
//造一个文件流
FileStream fs = new FileStream(path,FileMode.Create);
//向文件里面写数据
fs.Write(sj,,sj.Length);
//关闭流
fs.Close();
}
3、StreamWrite类:
//取文件路径
string path = saveFileDialog1.FileName;
//打开文件流
FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write); //第一种方式,使用流
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
//第二种方式,不使用流
StreamWriter sw = new StreamWriter(path,true,Encoding.Default); //将字符串写入文件
sw.Write(richTextBox1.Text); //关闭
sw.Close();
fs.Close();
StreamRead类:
//取文件路径
string path = saveFileDialog1.FileName;
//打开文件流
FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write);
//第一种方式,使用流
StreamReader sr = new StreamReader(fs,Encoding.Default); //第二种方式,不使用流
//StreamReader sr = new StreamReader(path,Encoding.Default); //读一行
richTextBox1.Text = sr.ReadLine();
//读所有
richTextBox1.Text = sr.ReadToEnd();
//关闭
sr.Close();
Windowsforms 中对话框,流、文件操作的更多相关文章
- java中io对文件操作的简单介绍
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- 笔记:I/O流-文件操作
Java库中使用 Path 和 Files 类封装了在用户机器上处理文件系统所需要的所有功能,可以使用Paths来获取一个具体的Path对象,来表示具体的路径. 路径 Path表示的是一个目录名序列, ...
- C#IO流文件操作
文件流 创建文件流 读写文件的第一步就是创建文件流,流是一个用于数据传输的个对象,它是FileStream类型,在创建一个文件流是需要在他的构造中指定参数 语法: FileStream 文件流对象=n ...
- git中 gitignore 忽略文件操作
通常,.gitignore文件被放置在存储库的根目录中.根目录也称为父目录和当前工作目录.根文件夹包含组成项目的所有文件和其他文件夹.也就是说,您可以将它放在存储库中的任何文件夹中.你甚至可以有多个. ...
- 文件是数据(字节)流的抽象-为什么C++中会把文件操作抽象为fstream?
这不过是返祖罢了.正确的问题是为什么会把数据流抽象成文件. 设备-字节流-文件. 一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列). 文件抽象为数据流一 ...
- java学习(九) —— java中的File文件操作及IO流概述
前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...
- 在c#中IO流读写操作
1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...
- java中IO流的操作
读取转换流--读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理.也就是readLine方法.能不能直接使用readLine方法来完成键盘录入一行数据的读取呢?readLine方法是 ...
- 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(
新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...
随机推荐
- 转帖:对linux中半增加半连接数量和防止服务器被dos攻击
.增大队列SYN最大半连接数 在Linux中执行命令"sysctl -a|grep net.ipv4.tcp_max_syn_backlog",在返回的"net.ipv4 ...
- [转] 买彩票的利器--gun
源链接 还在自己买彩票吗,有个现成的:GNU shuf命令. shuf -i - -n | 这样就会产生两组彩票(1~36个数字任选) 当然还可以派其他用途,比如: shuf -e clubs hea ...
- 海思HI3516A开发板顺利上线
有图有真相.
- 嵌入式开发之davinci--- 8148 中dsp在dsp_drv.c中的processdata()加算法出现下边缘条纹问题
(1)问题原因 dsp在alglink_priv.c中做灰度处理发现,下面出现条纹,后面发现是cache 缓存没及时写进内存问题 (2)解决办法 for(frameId=0; frameId<f ...
- 图片懒加载和UA池,UA代理池
1,动态数据加载的处理 图片懒加载概念: 图片懒加载是一种页面优化技术.图片作为一种网络资源,在被请求时也与静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面首屏加载时间 ...
- tomcat项目重复加载问题
主要是通过配置<Tomcat安装目录>/conf/server.xml文件 步骤: 1.打开server.xml,在</Host>的上一行添加内容格式如下 <Contex ...
- reverse proxy and forward proxy
1 什么是forward proxy 一句话,client的proxy就是forward proxy. 2 什么是reverse proxy 一句话,server的proxy就是reverse pro ...
- ABAP Debug 技巧
小技巧,可以在Debugger的时候跳过不想执行的代码, 或者返回执行已经执行过的代码,实际开发过程中很有帮助
- 异步编程错误处理 ERROR HANDLING
Chapter 16, "Errors and Exceptions," provides detailed coverage of errors and exception ha ...
- mongo13----application set与分片结合
replation set配合分片 打开3台服务器,B服务器()放configserv, C,D服务器(203.204)放置复制集 .203和192.168.1.204分别运行之前的sh start. ...