C#:获得文件版本信息及只读文件的删除,按行读写文件

博客主要介绍了C#中文件操作的相关内容。包括更改文件属性以删除只读文件,先判断文件是否只读,若只读则重置属性后删除;还展示了按行读写文件的方法,如使用StreamReader按行读取,StreamWriter按行写入,同时提及判断文件和目录是否存在的方法。
获取文件的版本信息:
 FileVersionInfo myFileVersionInfo1 = FileVersionInfo.GetVersionInfo("D://TEST.DLL");
 textBox1.Text="版本号: " + myFileVersionInfo1.FileVersion;


更改文件属性,删除只读文件:
下例欲将E:/test.txt文件拷贝至D:/tmp/test.txt,但D:/tmp/test.txt已经存在。
//File.Copy(sourceFile,destinationFile,true); 用来拷贝文件
 //当destinationFile已经存在时,无法将文件file1拷贝到目标文件,
 //因此先删除destination文件,File.Delete()方法不能删除只读文件,
 //因此,如果文件属性为只读(Attributes属性中会包含有"ReadOnly"),
 //先把文件属性重置为Normal,然后再删除:
string file1="E://test.txt";
string destinationFile="d://tmp//test.txt";
 if(File.Exists(destinationFile))
 {
  FileInfo fi=new FileInfo(destinationFile);
  if(fi.Attributes.ToString().IndexOf("ReadOnly")!=-1)
   fi.Attributes=FileAttributes.Normal;
  File.Delete(destinationFile);
 }
 File.Copy(file1,destinationFile,true);



                    按行读写文件
判断文件是否存在: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()+"行数据");
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值