zoukankan      html  css  js  c++  java
  • 复制、删除、移动文件、获取文件的版本信息、更改文件属性,删除只读文件

    复制文件:
    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()+"行数据");
    }

  • 相关阅读:
    ionic 导航
    vscode多光标编辑(MAC)
    vscode保存文件时自动删除行尾空格
    ionic-native sqlite 插件5.x版的在ionic3.x上报错 cannot read property 'split' of undefined
    MAC OSX 自带Apache 配置及使用
    ionic中ion-item下的div,span,p不渲染,应该给这些元素加上item-content属性
    开发ionic + cordova应用时遇到的坑,resources/splash.png do not meet minimum size requirements: 2732x2732
    ionic 创建指令的命名规则
    Soldier and Badges (set的检索简单运用)
    打败大魔王之最小排列数问题(全排列)
  • 原文地址:https://www.cnblogs.com/RobotTech/p/533648.html
Copyright © 2011-2022 走看看