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 ...
随机推荐
- css中使input输入框与img(图片)在同一行居中对齐
input,img{vertical-align:middle;},同时设置input和img的vertical-align属性,兼容ie7
- UVa 401 Palindromes(镜像回文字符串)
题意 给一个字符串 判定其是否为回文串和镜像串 回文串非常好推断 镜像串对于每个字符用数组保存它的镜像字符即可了 没有的就是空格 注意若字符串长度为奇数 中间那个字母必须是对称的才是镜 ...
- Java基础面试:集合、内部类、线程
package test; import java.util.Hashtable; import java.util.Map; public class test { public static St ...
- ul、li中的DIV垂直居中
当li高度可动态改变时,li中的DIV始终保持垂直居中. 由于高度不固定,不能用margin或者padding解决. 最头疼的是vertical-align: middle;也莫名其妙的失效了. 最终 ...
- Latex 3: 解决LaTeX编译卡顿问题
1.问题: 最近在编译latex时,老是在tulmr.fd处编译很久,但是以前不这样啊,那肯定就是我最近做了什么导致这样的了,是什么呢? 2.解决: 后来google下发现了解决办法,原来是我新安装了 ...
- 清空sql 日志
USE [master] GO ALTER DATABASE 库名 SET RECOVERY SIMPLE GO USE 库名 GO ,,TRUNCATEONLY) GO USE [master] G ...
- CMake使用总结【转】
本文转载自:https://www.mawenbao.com/note/cmake.html 总结CMake的常用命令,并介绍有用的CMake资源. CMake意为cross-platform mak ...
- Java String 和 new String()的区别
Java String 和 new String()的区别 本文转自:http://www.cnblogs.com/heima-jieqi/archive/2012/04/10/2440086.htm ...
- c# 读取内存
C# 用内存映射文件读取大文件(.txt) 网上有好多这类的文章,大部分都是用C/C++写的,也有部分C#写的,都思想都是一样的,调用win32 API. 至于什么是内存映射文件,相信还是有好多人 ...
- Java-Runoob-高级教程-实例-字符串:11. Java 实例 - 字符串性能比较测试
ylbtech-Java-Runoob-高级教程-实例-字符串:11. Java 实例 - 字符串性能比较测试 1.返回顶部 1. Java 实例 - 字符串性能比较测试 Java 实例 以下实例演 ...