首页 > c# > C#IO操作之显示文件目录信息

C#IO操作之显示文件目录信息

与文件操作基本类似
与文件区别 DirectoryInfo《-》 FileInfo
Path.GetTempPath()临时目录与Path.GetTempFileName()临时文件,源码如下:

?View Code CSHARP
using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;
namespace IOcaozuo
{
    static class Program
    {
        public static void DisplayTimestamps(this DirectoryInfo dirInfo)
        {
            Console.WriteLine(dirInfo.CreationTime.ToString());
            Console.WriteLine(dirInfo.LastAccessTime.ToString());
            Console.WriteLine(dirInfo.LastWriteTime.ToString());
        }
 
        public static void ModifyTimestamps(this DirectoryInfo dirInfo, DateTime dt)
        {
            dirInfo.CreationTime = dt;
            dirInfo.LastAccessTime = dt;
            dirInfo.LastWriteTime = dt;
        }
        public static void MakeDirectoryHidden(this DirectoryInfo dirInfo)
        {
             dirInfo.Attributes |= FileAttributes.Hidden;
        }
        static void Main(string[] args)
        {
 
            ManipulateDirectoryAttributes();
        }
 
        public static void ManipulateDirectoryAttributes()
        {
            string path = Path.GetTempPath() + @"\MyTemp";
            Directory.CreateDirectory(path);
            try
            {
                DateTime dt = new DateTime(2003, 5, 10);
 
                //显示目录时间,这里调用静态方法
                DisplayDirectoryTimestamps(path);
                ModifyDirectoryTimestamps(path, dt);
                 //DirectoryInfo目录信息显示时间和属性
                 DirectoryInfo dirInfo = new DirectoryInfo(path);
                 dirInfo.DisplayTimestamps();//扩展方法
                 dirInfo.ModifyTimestamps(dt);//扩展方法
                DisplayDirectoryHiddenAttribute(path);
                dirInfo.MakeDirectoryHidden();//扩展方法
                DisplayDirectoryHiddenAttribute(path);
            }
            catch (Exception e)
            {
                Console.WriteLine("{0}", e.ToString());
            }
            Directory.Delete(path, true);
        }
 
        public static void DisplayDirectoryTimestamps(string path)
        {
            Console.WriteLine(Directory.GetCreationTime(path).ToString());
            Console.WriteLine(Directory.GetLastAccessTime(path).ToString());
            Console.WriteLine(Directory.GetLastWriteTime(path).ToString());
        }
 
        public static void ModifyDirectoryTimestamps(string path, DateTime dt)
        {
            Directory.SetCreationTime(path, dt);
            Directory.SetLastAccessTime(path, dt);
            Directory.SetLastWriteTime(path, dt);
        }
 
        public static void DisplayDirectoryHiddenAttribute(string path)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(path);
            // Display whether this directory is hidden
            Console.WriteLine("Is directory hidden? = " +
                ((dirInfo.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden));
        }
 
 
    }
}

原创文章转载请注明出处:云飞扬IT的blog

本文链接: http://www.ajaxcn.net/archives/936

分类: c# 标签: ,
一键分享到:新浪微博分享  分享到网易微博    转贴到开心网  推荐到豆瓣  分享到QQ空间    RSS订阅
  1. 2010年5月7日09:32 | #1

    ┏┛┻━━┛┻┓
    ┃ 囧   ┃  
    ┃   ━  。┃
    ┃ ┳┛┗┳。┃
    ┃     。┃
    ┃   ┻   ┃
    ┃      ┃
    ┗━┓  ┏━┛
    This is a good idea! hope to be better!

  2. 2010年5月7日12:47 | #2

    哈哈,继续努力哈

  3. 2010年5月7日13:21 | #3

    博主写的非常好,受教了!

  4. 2010年5月8日18:24 | #4

    看你的博客很久了 。呵呵

  1. 本文目前尚无任何 trackbacks 和 pingbacks.