文件操作(读取和写入)
来源:互联网 发布:淘宝助理 菜鸟打印 编辑:程序博客网 时间:2024/06/08 09:12
l 命名空间和操作类
l 打开和保存文件对话框
l 读取和写入文件
1.引用命名空间和操作类
命名空间:System.IO
操作类:File
相关方法:
1)File.Copy(string sourceFileName, string destFileName,bool overwrite);复制文件,无返回值 参数:待复制的文件路径(含文件名),欲赋值到的文件路径(含文件名),是否覆盖)
例如:File.Copy(@"G:\入学考试\exam\exam.sln",@"G:\入学考试\exam\exam1.sln",true);
2)File.Exists(string path); 确定文件是否存在,返回值为bool类型
参数:确定文件路径(含文件名)
3)实例名.ShowDialog() 显示对话框,实例方法。
2.打开和保存文件对话框
OpenFileDialog类 打开文件对话框
SaveFileDialog类 保存文件对话框
//创建打开文件对话框实例
OpenFileDialog ofd = new OpenFileDialog();
//选择文件并确定
if (ofd.ShowDialog() ==DialogResult.OK)
{
//将文件路径(含文件名)显示在文本框中
txtShow.Text = ofd.FileName;
}
下边为这两个类的几个相同属性:
ofd.InitialDirectory ="D:\\html"; 实例的InitialDirectory属性设置打开文件对话框的默认目录。
ofd.Filter ="可执行程序|*.exe|文本文件|*.txt|所有文件|*.*"; 实例的Filter属性对对话框中文件进行筛选(两个一组,以竖线划分)
FolderBrowserDialog 浏览文件对话框
Directory 对目录操作的类
Directory.GetFiles 获得目录中的文件(不包括子目录)
//创建浏览文件对话框
FolderBrowserDialog fbds =new FolderBrowserDialog();
if (fbds.ShowDialog() ==DialogResult.OK)
{
//获取选择文件中的所有文件路径
string[] soursePath =Directory.GetFiles(txtShow.Text);
//创建用于存储目标文件路径的变量
string destpath;
foreach (string pathin soursePath)
{
//目标文件路径(含文件名)
destpath=fbds.SelectedPath+"\\"+path.Substring(path.LastIndexOf("\\")+1);
//复制文件
File.Copy(path, destpath,true);
}
}
Directory.GetDirectories 获取选择目录中的子目录
---------------------获取包括子目录文件在内的所有文件----------------------
//获取选择选择中的所有目录
string[] direPath =Directory.GetDirectories(txtShow.Text);
foreach (string path1in direPath)
{
//获取每个目录下所有文件的路径
string[] soursePath =Directory.GetFiles(path1);
//创建用于存储目标文件路径的变量
string destpath;
foreach (string pathin soursePath)
{
//目标文件路径(含文件名)
destpath = fbds.SelectedPath +"\\" + path.Substring(path.LastIndexOf("\\") + 1);
//复制文件
File.Copy(path, destpath,true);
}
}
Directory.Delete(string path,bool recursive); 删除目录,参数2可指定是否删除子目录(包括子目录文件) 为true时会删除目录所有(包括该目录)
3.控件与窗体关系的属性
Anchor 指定随着窗体的改变,控件的改变(指定保持控件到窗体四边的距离)
Dock 绑定控件与窗体边框关系(与Anchor互斥)
4.读取文件
1)创建一个文件流 创建FileStream的对象。
2)创建读取器 创建StreamReader的对象。
3)读取文件 参数可指定读取编码
4)关闭读取器和文件流(可以调用对象的close方法,也可以将上面几步写入using中)
例:
OpenFileDialog ofd=new OpenFileDialog ();
ofd.Filter ="文本文件|*.txt";
if (ofd.ShowDialog() ==DialogResult.OK)
{
string path = ofd.FileName;
//创建文件流,指定读取文件路径,和打开方式
FileStream fs =newFileStream(path,FileMode.Open);
//创建读取器,指定读取对象和使用编码
StreamReader sr =new StreamReader(fs,Encoding.Default);
//读取对象内容并写入文本框中
textBox1.Text = sr.ReadToEnd();
//关闭读取器和文件流
sr.Close();
fs.Close();
}
读取器对象的EndOfStream属性可指定是否读到末尾,返回值为bool类型,通常与对象的ReadLine方法配合使用。因此上边的读取对象内容还可以写作:
while (!sr.EndOfStream)
{
textBox1.Text += sr.ReadLine() +"\r\n";
}
5.写入文件
跟读取文件类似:
1)创建一个文件流 创建FileStream的对象。
2)创建读取器 创建StreamWriter的对象。
3)写入文件 参数可指定读取编码
4)关闭读取器和文件流(可以调用对象的close方法,也可以将上面几步写入using中)
例:SaveFileDialog sfd=newSaveFileDialog ();
sfd.Filter="文本文件|*.txt";
if(sfd.ShowDialog()==DialogResult.OK)
{
//创建文件流,指定保存路径和保存方式为创建新文件覆盖旧文件
FileStream fs =new FileStream(sfd.FileName,FileMode.Create);
//创建写入器,指定写入对象和使用编码
StreamWriter sw =new StreamWriter(fs,Encoding.Default);
//写入文件
sw.Write(textBox1.Text);
//关闭写入器和文件流
sw.Close();
fs.Close();
}
注意:文件流的操作必须记得关闭对象,而且关闭顺序必须是先读取或写入器,然后才是文件流对象,不然可能发生丢失内容的错误。
- 文件操作(读取和写入)
- Scala文件操作----(读取和写入字符)
- php操作文件(读取写入文件)
- ini文件操作(读取/写入)
- 文件读取和写入
- 文件读取和写入
- 文件读取和写入
- jsp文件操作:读取和写入文件的方法
- C++文件读取 写入 操作
- C#中的文件操作(读取文件与写入文件)
- C#中的文件操作(读取文件与写入文件)
- 文件操作Excel解析(1)读取和写入Excel文件
- 文件操作Excel解析(2)读取和写入Excel文件_根据积分获取奖品
- Java文件操作:按行读取和写入
- 记事本.txt文件的读取和写入操作
- java的I/O操作,读取和写入文件
- C++文件操作写入和读取结构体类型
- Java文件操作:按行读取和写入
- 解析解【闭式解(closed-form solution)】和数值解
- C++的学习(十)类和对象
- pat1068
- yun命令为linux更新软件
- 阿里云开发者大会观后感
- 文件操作(读取和写入)
- HDU 1846 Brave Game 最简单的博弈--巴什博奕
- NGUI UIInput屏蔽特殊字符(允许输入汉字)
- VS 2010 windows7(x64)+ opencv2.3.1
- XSS 专题三 发掘XSS漏洞剖析
- Vim学习网址收藏
- input中id和name属性的区别
- 数据结构重读——单源最短路径(Dijkstra) 转自酷勤
- Fedora 下解决root不能直接在本地登录的方法