C#:文件的按行读/写及文件目录的操作

Author:David Euler
Date: 2004/11/16
Email:
de_euler-david@yahoo.com.cn 
有任何问题,请与我联系:)

                     按行读写文件

判断文件是否存在:File.Exists(string filePath)
判断目录是否存在:Directory.Exists("D://LastestVersion")

按行读取文件:
 int fileCount=0;
 // Open the file just specified such that no one else can use it.
 StreamReader sr = new StreamReader(textBox1.Text.Trim());
 while(sr.Peek() > -1)//StreamReader.Peek()返回下一个可用字符,但不使用它
 {
  listBox1.Items.Add(sr.ReadLine());
  fileCount++;
 }
 sr.Close();

按行写入文件:
 StreamWriter sw = new StreamWriter("D://result.txt");
 for(int i=0;i<10;i++)
 {
  sw.WriteLine("这是第"+i.ToString()+"行数据");
 }

                     文件目录对话框的使用
文件对话框即过滤条件的使用:
 string resultFile="";
 OpenFileDialog openFileDialog1 = new OpenFileDialog();
 openFileDialog1.InitialDirectory = "D://Patch" ;
 openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt" ;
 openFileDialog1.FilterIndex = 2 ;
 openFileDialog1.RestoreDirectory = true ;
 if(openFileDialog1.ShowDialog() == DialogResult.OK)
  resultFile=openFileDialog1.FileName; 

目录对话框的使用:
 string resultFolder="";
 FolderBrowserDialog openFolderDialog1=new FolderBrowserDialog();
 openFolderDialog1.RootFolder=Environment.SpecialFolder.MyComputer;  
 if(openFolderDialog1.ShowDialog()==DialogResult.OK)
  resultFolder=openFolderDialog1.SelectedPath; 

遍历目录,保存文件列表:
   //遍历目录D:/Patch/ERPv3.0-1/DLL,将所有文件列表存入到D:/listFiles.txt中:
   String[] files=Directory.GetFiles(@"D:/Patch/ERPv3.0-1/DLL");

   MessageBox.Show("The number of dll files is {0}."+ files.Length.ToString());
   if(File.Exists("D://listFiles.txt"))File.Delete("D://listFiles.txt"); //假定文件不为只读
   StreamWriter sw = new StreamWriter("D://listFiles.txt");
   foreach (string file in files)
   {
    int last=file.LastIndexOf("//"); //取得最后一个/的位置
    sw.WriteLine(file.Substring(last+1,file.Length-last-1));//取得文件的文件名(不含路径)
   }
   sw.Close(); //关闭StreamWrite的处理不可少,否则文本文件写入可能出问题
   MessageBox.Show("目录文件遍历完毕!");

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值