Esempio n. 1
0
        public DirectoryInfo(string path)
        {
            FullName = path;
            Name     = Path.GetFileName(path);

            if (Settings.IsUnix)
            {
                System.IO.DirectoryInfo fi = new System.IO.DirectoryInfo(path);

                if (!fi.Exists)
                {
                    return;
                }

                LastWriteTime = fi.LastWriteTimeUtc.Ticks;
                return;
            }

            string fileName = NameFix.AddLongPathPrefix(path);

            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fileName, 0, ref wIn32FileAttributeData);

            if (!b || (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) == 0)
            {
                return;
            }
            LastWriteTime = Convert.Time(wIn32FileAttributeData.ftLastWriteTimeHigh, wIn32FileAttributeData.ftLastWriteTimeLow);
        }
Esempio n. 2
0
        public FileInfo(string path)
        {
            FullName = path;
            Name = Path.GetFileName(path);

            if (Settings.IsUnix)
            {
                System.IO.FileInfo fi = new System.IO.FileInfo(path);

                if(!fi.Exists) return;

                Length = fi.Length;
                LastWriteTime = fi.LastWriteTimeUtc.Ticks;
                return;
            }

            string fileName = NameFix.AddLongPathPrefix(path);
            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fileName, 0, ref wIn32FileAttributeData);

            if (!b || (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) != 0) return;

            Length = Convert.Length(wIn32FileAttributeData.fileSizeHigh, wIn32FileAttributeData.fileSizeLow);
            LastWriteTime = Convert.Time(wIn32FileAttributeData.ftLastWriteTimeHigh, wIn32FileAttributeData.ftLastWriteTimeLow);
        }
Esempio n. 3
0
        public static bool Exists(string path)
        {
            string fixPath = NameFix.AddLongPathPrefix(path);

            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fixPath, 0, ref wIn32FileAttributeData);

            return(b && (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) == 0);
        }
Esempio n. 4
0
        public static bool Exists(string path)
        {
            if (Settings.IsUnix)
            {
                return(System.IO.Directory.Exists(path));
            }


            string fixPath = NameFix.AddLongPathPrefix(path);

            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fixPath, 0, ref wIn32FileAttributeData);

            return(b && (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) != 0);
        }
Esempio n. 5
0
        public DirectoryInfo(string path)
        {
            FullName = path;
            Name     = Path.GetFileName(path);

            string fileName = NameFix.AddLongPathPrefix(path);

            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fileName, 0, ref wIn32FileAttributeData);

            if (!b || (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) == 0)
            {
                return;
            }
            LastWriteTime  = Convert.Time(wIn32FileAttributeData.ftLastWriteTimeHigh, wIn32FileAttributeData.ftLastWriteTimeLow);
            fileAttributes = wIn32FileAttributeData.fileAttributes;
        }
Esempio n. 6
0
        public static bool Exists(string path)
        {
            if (Settings.IsUnix)
                return System.IO.Directory.Exists(path);

            string fixPath = NameFix.AddLongPathPrefix(path);

            Win32Native.WIN32_FILE_ATTRIBUTE_DATA wIn32FileAttributeData = new Win32Native.WIN32_FILE_ATTRIBUTE_DATA();

            bool b = Win32Native.GetFileAttributesEx(fixPath, 0, ref wIn32FileAttributeData);
            return b && (wIn32FileAttributeData.fileAttributes & Win32Native.FILE_ATTRIBUTE_DIRECTORY) != 0;
        }