文件操作(读取和写入)
2013-10-25 19:21
183 查看
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 =new
FileStream(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();
}
注意:文件流的操作必须记得关闭对象,而且关闭顺序必须是先读取或写入器,然后才是文件流对象,不然可能发生丢失内容的错误。
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 =new
FileStream(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();
}
注意:文件流的操作必须记得关闭对象,而且关闭顺序必须是先读取或写入器,然后才是文件流对象,不然可能发生丢失内容的错误。
相关文章推荐
- Java操作读取写入文本TXT及XML文件内容
- Java文件操作:按行读取和写入
- Asp.Net 文件操作基类(读取,删除,批量拷贝,批量删除,写入)
- php文件操作 读取写入操作
- Java配置文件Properties的读取、写入与更新操作
- javaIO关于文件操作(读取,写入,复制,遍历所有文件)
- 0018.scala文件的读取写入操作代码
- ASP.NET对txt文件相关操作(读取、写入、保存)
- java file to inputstream以及New Document From InputStream读取和写入文件操作实例代码
- 以行形式写入文件并以行形式读取文件(不带缓存的文件操作且无部分读取)
- (转)实现对Java配置文件Properties的读取、写入与更新操作
- php对csv文件的读取,写入,输出下载操作详解
- 什么是沙盒模型?怎么写入、读取沙盒路径文件数据,哪些操作是属于私有api范畴
- Android对文件的操作(简单的文件读取与写入)
- C语言中打开文件读取,写入的操作
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- java===java基础学习(5)---文件读取,写入操作
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- 通过字符流来对文件进行内容的读取和写入操作
- 文件操作Excel解析(1)读取和写入Excel文件