C# WPF 文件操作

文件读写 
- 读文件

FileStream fs = new FileStream(@"C:\Users\weixin\Desktop\latex\file.txt", FileMode.Open, FileAccess.Read);
StreamReader m_streamReader = new StreamReader(fs);
//使用StreamReader类来读取文件
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
//从数据流中读取每一行,直到文件的最后一行,并在textBox中显示出内容,其中textBox为文本框,如果不用可以改为别的
this.textBox.Text = "";
string strLine = m_streamReader.ReadLine();
while (strLine != null)
{
    this.textBox.Text += strLine + "\n";
    strLine = m_streamReader.ReadLine();
}
//关闭此StreamReader对象
m_streamReader.Close();
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

- 写文件

FileStream fs = new FileStream(@"C:\Users\weixin\Desktop\latex\file.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.Flush();
//设置当前流的位置
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);
//写入内容
m_streamWriter.Write("锄禾日当午");
m_streamWriter.Write("\r\n");//换行
m_streamWriter.Write("汗滴禾下土");
m_streamWriter.Write("\r\n");//换行
m_streamWriter.Write("谁知盘中餐");
m_streamWriter.Write("\r\n");//换行
m_streamWriter.Write("粒粒皆辛苦");
//关闭此文件
m_streamWriter.Flush();
m_streamWriter.Close();
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

判定相应位置下的文件是否存在

string path = AppDomain.CurrentDomain.BaseDirectory + "data.txt";
//文件路径,AppDomain.CurrentDomain.BaseDirectory为程序所在位置,data.txt为查找的目标文件
if (System.IO.File.Exists(path))//查看文件是否存在
{
    MessageBox.Show("文件存在");
}
else
{
    MessageBox.Show("文件不存在");
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

判定相应位置下的文件夹是否存在,不存在则创建

//判断相应月份文件夹是否存在,没有则创建
string path = AppDomain.CurrentDomain.BaseDirectory + "2016年4月";
if (System.IO.Directory.Exists(path))
{
    MessageBox.Show("存在相应文件夹");
}
else
{
    System.IO.DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(path);
    directoryInfo.Create();
    MessageBox.Show("不存在相应文件夹,已自动创建");
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

配置文件操作

- 添加->常规->应用程序配置文件->得到app.config(不要改名,不然下面读取会出错) 
- 在config文件的configuration标签中添加appSettings,整个文件内容如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Enable" value="Yes"/>
    <add key="Date" value="2016年4月"/>
  </appSettings>
</configuration>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

- 给程序添加引用system.configration.dll,并在需要用到的地方添加命名空间引用

using System.Configuration;
 
 
  • 1

- 在需要查看配置文件的地方用如下代码进行查看

string str = ConfigurationManager.AppSettings["Enable"];//语句返回Enable里面的值给str
 
 
  • 1

- 如果需要修改配置文件里面的值,则用如下的代码进行修改

Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings["Enable"].Value = "WANGLICHAO";
cfa.Save();
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用NPOI库可以在C# WPF中读取Excel。你可以按照以下步骤进行操作: 1. 首先,引用NPOI库,并将其添加到项目中。 2. 创建一个ExcelHelper类的实例,并将Excel文件路径传递给它。例如: ```csharp using (ExcelHelper excelHelper = new ExcelHelper(@"I:\人员信息表.xlsx")) { // 在这里进行读取操作 } ``` 3. 使用ExcelHelper的ExcelToDataTable方法将Excel文件中的数据读取到一个DataTable中。例如: ```csharp dt = excelHelper.ExcelToDataTable("MySheet", true); ``` 这里的"MySheet"是Excel文件中的表格名称,true表示第一行是列名。 4. 如果需要将DataTable转换为ObservableCollection,你可以使用foreach循环遍历DataTable的每一行,并创建personalInfo对象添加到ObservableCollection中。例如: ```csharp foreach (DataRow dr in dt.Rows) { personalInfoList.Add(new personalInfo(dr.ToString(), Int32.Parse(dr.ToString()), dr.ToString(), dr.ToString())); } ``` 这里的personalInfo是一个自定义的类,根据你的需求来定义。 5. 最后,记得在适当的时候释放ExcelHelper对象。例如: ```csharp using (ExcelHelper excelHelper = new ExcelHelper(@"I:\人员信息表.xlsx")) { // 在这里进行读取操作 } ``` 综上所述,使用NPOI库可以方便地在C# WPF中读取Excel文件的数据。你可以根据实际需求进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C# WPF 利用NPOI读写Excel文件。](https://blog.csdn.net/a312024054/article/details/70139172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值