C#读写文件|遍历文件|打开保存文件
2011-07-10 14:20
330 查看
本文示例源代码及窗体设计详见:http://download.csdn.net/source/3431745
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FileReadWriteDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//遍历文件 - 浏览按钮
private void buttonBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "(*.*)|*.*"; //过滤文件类型
ofd.RestoreDirectory = true; //记忆上次浏览路径
if(ofd.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dir = Directory.GetParent(ofd.FileName); //获取文件所在的父目录
textBox1.Text = dir.ToString()+"\\";
}
}
//遍历文件 - 遍历按钮
private void buttonTransform_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
TransformFiles(textBox1.Text.Trim());
}
public void TransformFiles(string path)
{
try
{
DirectoryInfo dir = new DirectoryInfo(path);
DirectoryInfo[] dirs = dir.GetDirectories(); //获取子目录
FileInfo[] files = dir.GetFiles("*.*"); //获取文件名
foreach (DirectoryInfo d in dirs)
{
TransformFiles(dir+d.ToString()+"\\"); //递归调用
}
foreach(FileInfo f in files)
{
listBox1.Items.Add(dir+f.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
//打开保存 - 打开按钮
private void buttonOpen_Click(object sender, EventArgs e)
{
textBox3.Text = "";
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "(*.txt)|*.txt|(*.*)|*.*";
ofd.RestoreDirectory = true;
if(ofd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = ofd.FileName;
FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
try
{
ofd.OpenFile(); //打开文件
string line = sr.ReadLine(); //读取文本行
while (line != null)
{
textBox3.Text += line + "\n"; //换行后继续读取直至line==null
line = sr.ReadLine();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sr.Close();
fs.Close();
}
}
}
//打开保存 - 保存按钮
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "(*.txt)|*.txt|(*.*)|*.*";
sfd.AddExtension = true;
sfd.RestoreDirectory = true;
if(sfd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = sfd.FileName;
FileStream fs = new FileStream(sfd.FileName,FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
try
{
sw.Write(textBox3.Text);
sw.Flush();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sw.Close();
fs.Close();
}
}
}
//读写文本 - 写入数据按钮
private void buttonWrite_Click(object sender, EventArgs e)
{
if (!(Directory.Exists(@"D:\temp")))
{
Directory.CreateDirectory(@"D:\temp");
}
string filePath = @"D:\temp\qq.doc";
if(File.Exists(filePath))
{
labelResult.ForeColor = Color.Red;
labelResult.Text = "当前文件已经存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
try
{
sw.Write(textBox4.Text);
sw.Flush();
labelResult.ForeColor = Color.Green;
labelResult.Text = "写入数据完成!";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sw.Close();
fs.Close();
}
}
//读写文本 - 读取数据按钮
private void buttonRead_Click(object sender, EventArgs e)
{
textBox5.Text = "";
string filePath = @"D:\temp\qq.doc";
if(!(File.Exists(filePath)))
{
labelResult.ForeColor = Color.Red;
labelResult.Text = filePath+"文件不存在!";
return;
}
FileStream fs = new FileStream (filePath,FileMode.Open,FileAccess.Read);
StreamReader sr = new StreamReader(fs);
try
{
string line = sr.ReadLine();
while(line != null)
{
textBox5.Text += line + "\n";
line = sr.ReadLine();
}
labelResult.ForeColor = Color.Green;
labelResult.Text = "读取数据成功!";
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sr.Close();
fs.Close();
}
}
//读写二进制文件 - 写入数据按钮
private void buttonWrite2_Click(object sender, EventArgs e)
{
string filePath = @"D:\temp\test.data";
if (!(Directory.Exists(@"D:\temp")))
{
Directory.CreateDirectory(@"D:\temp");
}
if(File.Exists(filePath))
{
labelResult2.ForeColor = Color.Red;
labelResult2.Text = "文件已经存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
for (int i = 0; i < 200; i++)
{
bw.Write((int)i);
}
bw.Flush();
labelResult2.ForeColor = Color.Green;
labelResult2.Text = "写入数据成功!";
bw.Close();
fs.Close();
}
//读写二进制文件 - 读取数据按钮
private void buttonRead2_Click(object sender, EventArgs e)
{
textBox6.Text = "";
string filePath = @"D:\temp\test.data";
if(!(File.Exists(filePath)))
{
labelResult2.ForeColor = Color.Red;
labelResult2.Text = filePath+"文件不存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
for (int i = 0; i < 200; i++)
{
Int32 intTmp = br.ReadInt32();
textBox6.Text += "->" + intTmp.ToString();
}
labelResult2.ForeColor = Color.Green;
labelResult2.Text = "读取数据成功!";
br.Close();
fs.Close();
}
}
}
本文示例源代码及窗体设计详见:http://download.csdn.net/source/3431745
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FileReadWriteDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//遍历文件 - 浏览按钮
private void buttonBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "(*.*)|*.*"; //过滤文件类型
ofd.RestoreDirectory = true; //记忆上次浏览路径
if(ofd.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dir = Directory.GetParent(ofd.FileName); //获取文件所在的父目录
textBox1.Text = dir.ToString()+"\\";
}
}
//遍历文件 - 遍历按钮
private void buttonTransform_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
TransformFiles(textBox1.Text.Trim());
}
public void TransformFiles(string path)
{
try
{
DirectoryInfo dir = new DirectoryInfo(path);
DirectoryInfo[] dirs = dir.GetDirectories(); //获取子目录
FileInfo[] files = dir.GetFiles("*.*"); //获取文件名
foreach (DirectoryInfo d in dirs)
{
TransformFiles(dir+d.ToString()+"\\"); //递归调用
}
foreach(FileInfo f in files)
{
listBox1.Items.Add(dir+f.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
//打开保存 - 打开按钮
private void buttonOpen_Click(object sender, EventArgs e)
{
textBox3.Text = "";
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "(*.txt)|*.txt|(*.*)|*.*";
ofd.RestoreDirectory = true;
if(ofd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = ofd.FileName;
FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
try
{
ofd.OpenFile(); //打开文件
string line = sr.ReadLine(); //读取文本行
while (line != null)
{
textBox3.Text += line + "\n"; //换行后继续读取直至line==null
line = sr.ReadLine();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sr.Close();
fs.Close();
}
}
}
//打开保存 - 保存按钮
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "(*.txt)|*.txt|(*.*)|*.*";
sfd.AddExtension = true;
sfd.RestoreDirectory = true;
if(sfd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = sfd.FileName;
FileStream fs = new FileStream(sfd.FileName,FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
try
{
sw.Write(textBox3.Text);
sw.Flush();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sw.Close();
fs.Close();
}
}
}
//读写文本 - 写入数据按钮
private void buttonWrite_Click(object sender, EventArgs e)
{
if (!(Directory.Exists(@"D:\temp")))
{
Directory.CreateDirectory(@"D:\temp");
}
string filePath = @"D:\temp\qq.doc";
if(File.Exists(filePath))
{
labelResult.ForeColor = Color.Red;
labelResult.Text = "当前文件已经存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
try
{
sw.Write(textBox4.Text);
sw.Flush();
labelResult.ForeColor = Color.Green;
labelResult.Text = "写入数据完成!";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sw.Close();
fs.Close();
}
}
//读写文本 - 读取数据按钮
private void buttonRead_Click(object sender, EventArgs e)
{
textBox5.Text = "";
string filePath = @"D:\temp\qq.doc";
if(!(File.Exists(filePath)))
{
labelResult.ForeColor = Color.Red;
labelResult.Text = filePath+"文件不存在!";
return;
}
FileStream fs = new FileStream (filePath,FileMode.Open,FileAccess.Read);
StreamReader sr = new StreamReader(fs);
try
{
string line = sr.ReadLine();
while(line != null)
{
textBox5.Text += line + "\n";
line = sr.ReadLine();
}
labelResult.ForeColor = Color.Green;
labelResult.Text = "读取数据成功!";
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sr.Close();
fs.Close();
}
}
//读写二进制文件 - 写入数据按钮
private void buttonWrite2_Click(object sender, EventArgs e)
{
string filePath = @"D:\temp\test.data";
if (!(Directory.Exists(@"D:\temp")))
{
Directory.CreateDirectory(@"D:\temp");
}
if(File.Exists(filePath))
{
labelResult2.ForeColor = Color.Red;
labelResult2.Text = "文件已经存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
for (int i = 0; i < 200; i++)
{
bw.Write((int)i);
}
bw.Flush();
labelResult2.ForeColor = Color.Green;
labelResult2.Text = "写入数据成功!";
bw.Close();
fs.Close();
}
//读写二进制文件 - 读取数据按钮
private void buttonRead2_Click(object sender, EventArgs e)
{
textBox6.Text = "";
string filePath = @"D:\temp\test.data";
if(!(File.Exists(filePath)))
{
labelResult2.ForeColor = Color.Red;
labelResult2.Text = filePath+"文件不存在!";
return;
}
FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
for (int i = 0; i < 200; i++)
{
Int32 intTmp = br.ReadInt32();
textBox6.Text += "->" + intTmp.ToString();
}
labelResult2.ForeColor = Color.Green;
labelResult2.Text = "读取数据成功!";
br.Close();
fs.Close();
}
}
}
本文示例源代码及窗体设计详见:http://download.csdn.net/source/3431745
相关文章推荐
- C#读写文件、遍历文件、打开保存文件,窗体程序
- C#读写文件、遍历文件、打开保存文件,窗体程序
- C#读写文件、遍历文件、打开保存文件,窗体程序
- !!无须定义配置文件中的每个变量的读写操作,以下代码遍历界面中各个c#控件,自动记录其文本,作为配置文件保存
- c# 打开文件自动保存路径
- C#学习笔记(十六):使用打开保存文件对话框
- C#用openfiledialog文件和savefileDialog打开和保存文件
- C#中打开文件、目录、保存窗口
- C#在线打开编辑保存Excel文件[pageoffice]
- C#项目打开/保存文件夹/指定类型文件,获取路径
- C# 保存Excel文件 ( 打开Excel文件格式与扩展名指定格式不一致)
- vc文件的查找,打开/保存对话框 ,读写
- (转)C#操作Excel(创建、打开、读写、保存)几种方法的总结
- C/C++关于文件的读写操作以及文件的打开和保存
- 关于文件的读写操作以及文件的打开和保存
- 自定义文件读写(打开、保存)对话框样式
- c#-文件打开与保存,打开文件夹
- C#遍历CookieContainer所有Cookie并保存到文件
- C#操作Excel(创建、打开、读写、保存)几种方法的总结
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)