文件信息,数据网格视图,file.exist

fileinfo, datagridview, file.exist

任何人都可以帮助我,我仍在弄清楚 C#,我在我的主窗体上有一个 datagridview,目前在那里保存上传的文件信息,但我想检查一下文件是否存在如果确实上传了就不要上传,但老实说我很难理解文件信息、目录信息之间的区别以及如何使用它,请查看我的代码, 提前致谢!

string sqlSt = "Insert into Documents (CategoryID, PathofDocument,DocumentName,FileSize,FileExtension,AddedBy,LastActioned) values (@CategoryID,@FilePath,@FileName,@FileSize,@FileExtension,@AddedBy,@LastActioned)";


            OpenFileDialog fi = new OpenFileDialog();
            //DialogResult result = fi.ShowDialog();
            fi.Filter = "allfiles (*.*)|*.* |Text files(*.txt)|*.txt | Excel Files (*.xls)| *.xls |EmailFiles (*.msg) | *.msg";
            string fileio = fi.FileName;
            FileInfo file = new FileInfo(fileio);



                if (fi.ShowDialog() != DialogResult.OK)
                {
                    if (file.Exists(,fileio))
                    { }

                //    MessageBox.Show("File Already exist" + file.FullName);

                }
                else

                    if (file.Exists != true)
                    {
                        using (SqlConnection Conn = new SqlConnection(Connstring))
                        {
                            using (SqlCommand cmd = new SqlCommand(sqlSt, Conn))
                            {
                                Conn.Open();
                                cmd.Parameters.AddWithValue("CategoryID", treeView1.SelectedNode.Tag);
                                cmd.Parameters.AddWithValue("@FilePath", Path.GetFullPath(fi.FileName));
                                cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(file.Name));
                                cmd.Parameters.AddWithValue("@FileSize", file.Length / 1024);
                                cmd.Parameters.AddWithValue("@FileExtension", file.Extension);
                                cmd.Parameters.AddWithValue("@AddedBy", UserCon.Text);
                                cmd.Parameters.AddWithValue("@LastActioned", file.LastAccessTime);
                                cmd.ExecuteNonQuery();
                                SetValueforAddedB = UserCon.Text;
                                SetValueforType = Typtxt.Text;
                                Conn.Close();
                            }
                        }

File 有一个静态方法,您可以使用它来查看文件是否存在。

if (File.Exists("path"))
{
    // upload code
}
else
{
    // show message or whatever
}

i'm struggling to understand the differences between fileinfo, directoryinfo

FileInfo 用于交互和处理文件。 DirectoryInfo 用于与文件夹(目录)进行交互和工作。

如果您正在对文件执行单个操作,则使用静态 class FileDirectory 也是如此。但是,如果您正在执行多个操作,例如检查文件是否存在,然后读取文件,然后更改文件,然后保存文件,那么在这种情况下使用 FileInfo

FileDirectory 是静态的 classes。 FileInfoDirectoryInfo 是非静态的,因此您可以创建一个实例,保留该实例并在该实例上执行所有操作。