Пример #1
0
        public static string GetFilesListInfo(string filePath, FileInfoDetails fi)
        {
            filePath = filePath.Replace("\"", String.Empty);

            var result = new StringBuilder();

            try
            {
                using (var reader = new StreamReader(filePath))
                {
                    string path;

                    while ((path = reader.ReadLine()) != null)
                    {
                        result.AppendLine(GetFileInfo(path, fi));
                    }
                }
            }
            catch
            {
                throw;
            }

            return(result.ToString());
        }
Пример #2
0
        public static string GetDirectoryInfo(string directoryPath, FileInfoDetails fi)
        {
            directoryPath = directoryPath.Replace("\"", String.Empty);

            var result = new StringBuilder();

            try
            {
                var directories = Directory.EnumerateDirectories(directoryPath);

                foreach (var d in directories)
                {
                    result.Append(GetDirectoryInfo(d, fi));
                }

                var files = Directory.EnumerateFiles(directoryPath);

                foreach (var f in files)
                {
                    result.AppendLine(GetFileInfo(f, fi));
                }
            }
            catch
            {
                throw;
            }

            return(result.ToString());
        }
Пример #3
0
        public static void GetDirectoryInfo(string directoryPath, FileInfoDetails fi, string outputFilePath)
        {
            directoryPath  = directoryPath.Replace("\"", String.Empty);
            outputFilePath = outputFilePath.Replace("\"", String.Empty);

            try
            {
                using (var writer = new StreamWriter(outputFilePath))
                {
                    writer.Write(GetDirectoryInfo(directoryPath, fi));
                }
            }
            catch
            {
                throw;
            }
        }
Пример #4
0
        public static string GetFilesListInfo(string[] files, FileInfoDetails fi)
        {
            var result = new StringBuilder();

            if (files == null)
            {
                throw new ArgumentException();
            }

            try
            {
                for (var i = 0; i < files.Length; i++)
                {
                    result.AppendLine(GetFileInfo(files[i], fi));
                }
            }
            catch
            {
                throw;
            }

            return(result.ToString());
        }
Пример #5
0
        private void btnGetInfo_Click(object sender, EventArgs e)
        {
            var fi = new FileInfoDetails();

            if (chkSize.Checked)
            {
                fi |= FileInfoDetails.Size;
            }
            if (chkMD5.Checked)
            {
                fi |= FileInfoDetails.MD5;
            }
            if (chkSHA256.Checked)
            {
                fi |= FileInfoDetails.SHA256;
            }
            if (chkCreationTime.Checked)
            {
                fi |= FileInfoDetails.CreationTime;
            }
            if (chkCreationTime.Checked)
            {
                fi |= FileInfoDetails.LastAccessTime;
            }
            if (chkLastWriteTime.Checked)
            {
                fi |= FileInfoDetails.LastWriteTime;
            }

            if (this.radioDirectory.Checked)
            {
                try
                {
                    if (comboBox1.SelectedIndex == 0) // File.
                    {
                        FileInfoEx.FileInfoEx.GetDirectoryInfo(this.txtPath.Text, fi, this.txtPathOutput.Text);
                    }
                    else // Textbox.
                    {
                        txtInfo.Text = FileInfoEx.FileInfoEx.GetDirectoryInfo(this.txtPath.Text, fi);
                    }
                    MessageBox.Show("Done!");
                }
                catch (Exception ex)
                {
                    txtInfo.Text = "An error occured: " + ex.ToString();
                }
            }
            else // radioFile or radioFilesList.
            {
                try
                {
                    string info = null;

                    if (this.radioFile.Checked)
                    {
                        info = FileInfoEx.FileInfoEx.GetFileInfo(this.txtPath.Text, fi);
                    }
                    else // radioFilesList
                    {
                        info = FileInfoEx.FileInfoEx.GetFilesListInfo(this.txtPath.Text, fi);
                    }

                    // Output results.

                    if (comboBox1.SelectedIndex == 0) // File.
                    {
                        using (var writer = new StreamWriter(txtPathOutput.Text))
                        {
                            writer.Write(info);
                        }
                    }
                    else // Textbox...
                    {
                        this.txtInfo.Text = info;
                    }
                }
                catch (Exception ex)
                {
                    txtInfo.Text = "An error occured: " + ex.ToString();
                }
            }
        }
Пример #6
0
        public static string GetFileInfo(string filePath, FileInfoDetails fi)
        {
            filePath = filePath.Replace("\"", String.Empty);

            StringBuilder result = new StringBuilder(filePath);

            try
            {
                FileInfo fileInfo =
                    (fi & FileInfoDetails.Size) != 0 ||
                    (fi & FileInfoDetails.CreationTime) != 0 ||
                    (fi & FileInfoDetails.LastAccessTime) != 0 ||
                    (fi & FileInfoDetails.LastWriteTime) != 0
                    ? new FileInfo(filePath)
                    : null;

                if ((fi & FileInfoDetails.Size) != 0)
                {
                    result.Append("\tSize:" + fileInfo.Length.ToString());
                }

                using (var stream = File.OpenRead(filePath))
                {
                    // MD5
                    if ((fi & FileInfoDetails.MD5) != 0)
                    {
                        stream.Seek(0, SeekOrigin.Begin);

                        using (var md5 = MD5.Create())
                        {
                            result.Append("\tMD5:" + BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", String.Empty));
                        }
                    }

                    // SHA256
                    if ((fi & FileInfoDetails.SHA256) != 0)
                    {
                        stream.Seek(0, SeekOrigin.Begin);

                        using (var sha256 = SHA256.Create())
                        {
                            result.Append("\tSHA256:" + BitConverter.ToString(sha256.ComputeHash(stream)).Replace("-", String.Empty));
                        }
                    }
                }

                if ((fi & FileInfoDetails.CreationTime) != 0)
                {
                    result.Append("\tCreation:" + fileInfo.CreationTime.ToString());
                }

                if ((fi & FileInfoDetails.LastAccessTime) != 0)
                {
                    result.Append("\tLastAccess:" + fileInfo.LastAccessTime.ToString());
                }

                if ((fi & FileInfoDetails.LastWriteTime) != 0)
                {
                    result.Append("\tLastModification:" + fileInfo.LastWriteTime.ToString());
                }
            }
            catch
            {
                throw;
            }

            return(result.ToString());
        }
Пример #7
0
        public void TestTearDown()

        {
            _fileInfoDetails = null;
            _fileDetails     = null;
        }
Пример #8
0
 public void TestSetup()
 {
     _fileDetails     = new FileDetails();
     _fileInfoDetails = new FileInfoDetails(_fileDetails);
 }