文件.已存在--不想创建新文件

本文关键字:文件 新文件 不想 存在 创建 | 更新日期: 2023-09-27 17:57:42

我对编码很陌生,所以请耐心等待。我读了很多书,但都想不出这一点。

所以当你运行我的新应用程序时,你会键入一个文件夹名称。应用程序转到该文件夹,然后扫描该指定文件夹中的2个不同日志文件。但这就是我遇到麻烦的地方。如果日志不存在,它会询问您是否要创建它正在查找的文件。。。我不希望它那样做。我只想把它放到文件夹中,如果文件不存在,那么什么也不做,然后转到下一行代码。

这是我迄今为止的代码:

private void btnGo_Click(object sender, EventArgs e)
{
    //get node id from user and build path to logs
    string nodeID = txtNodeID.Text;
    string serverPath = @"''Jhexas02.phiext.com'rwdata'node'";
    string fullPath = serverPath + nodeID;
    string dbtoolPath = fullPath + "''DBTool_2013.log";
    string msgErrorPath = fullPath + "''MsgError.log";
    //check if logs exist
    if (File.Exists(dbtoolPath) == true)
    {
        System.Diagnostics.Process.Start("notepad.exe", dbtoolPath);
    }
    {
        MessageBox.Show("The 2013 DBTool log does not exist for this Node.");
    }

该应用程序将显示The 2013 DBTool log does not exist for this Node.,然后打开记事本并询问我是否要创建该文件。

Cannot find the ''Jhexas02.phiext.com'rwdata'node'R2379495'DBTool_2013.log file.
Do you want to create a new file?

我不想创建一个新的文件,永远。有什么好办法绕过这个吗?

文件.已存在--不想创建新文件

在"if"之后跳过"Else"

if (File.Exists(dbtoolPath) == true)
            {
                System.Diagnostics.Process.Start("notepad.exe", dbtoolPath);
            }
            else
            {
                MessageBox.Show("The 2013 DBTool log does not exist for this Node.");
            }

当您的代码编译时(只添加这样的bracer是有效的),它可以像将else添加到if语句一样简单:

if (File.Exists(dbtoolPath) == true) // This line could be changed to: if (File.Exists(dbtoolPath))
{
    System.Diagnostics.Process.Start("notepad.exe", dbtoolPath);
}
else // Add this line.
{
    MessageBox.Show("The 2013 DBTool log does not exist for this Node.");
}

正如您的代码现在看起来的那样,这部分将始终运行:

{
    MessageBox.Show("The 2013 DBTool log does not exist for this Node.");
}

它本质上与此代码相同:

if (File.Exists(dbtoolPath) == true)
{
    System.Diagnostics.Process.Start("notepad.exe", dbtoolPath);
}
MessageBox.Show("The 2013 DBTool log does not exist for this Node.");

试试这个:

if (File.Exists(dbtoolPath))
    {
        System.Diagnostics.Process.Start("notepad.exe", dbtoolPath);
    }
else {
        MessageBox.Show("The 2013 DBTool log does not exist for this Node.");
    }