现在的位置: 首页 > 综合 > 正文

复制、删除、移动文件、获取文件的版本信息、更改文件属性,删除只读文件

2013年02月13日 ⁄ 综合 ⁄ 共 1691字 ⁄ 字号 评论关闭

复制文件:
FileInfo fiMyfile = new FileInfo(@"C:\123\456.txt");
       if(fiMyfile.Exists)
       {
       fiMyfile.CopyTo(@"D:\123\456.txt", true);       
 }

删除文件:
FileInfo fiMyfile = new FileInfo(@"C:\123\456.txt");
       if(fiMyfile.Exists)
       {
        fiMyfile.Delete();
       }

//拷贝文件
File.Copy(OrignFile,NewFile);
//删除文件
File.Delete(delFile);
//移动文件
File.Move(OrignFile,NewFile);

if(File.Exists(OrignFile))
{
FileInfo fi = new FileInfo(NewFile);
DateTime Ctime = fi.CreationTime;
}

//====================================================================

获取文件的版本信息: 

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()+"行数据");
}

抱歉!评论已关闭.