C#文件操作

转载 2007年10月10日 16:12:00
获取文件的版本信息:
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()+"行数据");
}
 
方法二:
 
private const int FO_DELETE = 0x3;
private const ushort FOF_NOCONFIRMATION = 0x10;
private const ushort FOF_ALLOWUNDO = 0x40;
[DllImport("shell32.dll", SetLastError=true, CharSet=CharSet.Unicode)]
private static extern int SHFileOperation([In,Out] _SHFILEOPSTRUCT str);
 
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public class _SHFILEOPSTRUCT
{
public IntPtr hwnd;
public UInt32 wFunc;
public string pFrom;
public string pTo;
public UInt16 fFlags;
public Int32 fAnyOperationsAborted;
public IntPtr hNameMappings;
public string lpszProgressTitle;
}
public static int Delete(string path)
{
_SHFILEOPSTRUCT pm = new _SHFILEOPSTRUCT();
pm.wFunc = FO_DELETE;
pm.pFrom = path + '/0';
pm.pTo = null;
pm.fFlags = FOF_ALLOWUNDO ¦ FOF_NOCONFIRMATION;
return SHFileOperation(pm);
}
调用:Class1.Delete("C://temp.txt");
注:返回值为0表示调用成功,非0表示调用失败。
需要引用System.Runtime.InteropServices命名空间。
 

C#中的文件操作

微软的.Net框架为我们提供了基于流的I/O操作方式,这样就大大简化了开发者的工作。因为我们可以对一系列的通用对象进行操作,而不必关心该I/O操作是和本机的文件有关还是和网络中的数据有关。.Net框架...
  • jieyulu
  • jieyulu
  • 2007-07-04 17:11:00
  • 426

c#文件操作类

  • 2011年11月17日 14:11
  • 6KB
  • 下载

C#封装的常用文件操作类实例

using System; using System.Text; using System.Web; using System.IO; namespace DotNet.Utilities { p...
  • cai20142932
  • cai20142932
  • 2017-07-21 22:02:39
  • 482

c#文件操作c#文件操作c#文件操作

  • 2010年11月19日 08:48
  • 190KB
  • 下载

c#文件操作

  • 2011年11月08日 14:23
  • 9KB
  • 下载

c#文件操作的简单实例

建立一个文本文件  public class FileClass  {   public static void Main()   {   WriteToFile();   }   static vo...
  • cjolj
  • cjolj
  • 2007-02-15 14:15:00
  • 705

C#Winform文件操作总结

C#Winform文件操作总结
  • yangyisen0713
  • yangyisen0713
  • 2014-08-21 13:35:45
  • 1458

Csharp文件操作全收录

  • 2012年03月11日 12:58
  • 17KB
  • 下载

C# 对文件操作详细

  • 2008年09月17日 18:31
  • 84KB
  • 下载

c# 文件操作 --学习笔记

/*文件基本操作              * FileSystemInfo  (abstract)                      表示任何文件系统对象的基类          * Fil...
  • u011216619
  • u011216619
  • 2017-03-28 17:46:57
  • 285
收藏助手
不良信息举报
您举报文章:C#文件操作
举报原因:
原因补充:

(最多只允许输入30个字)