C#写作目录

时间:2018-12-02 06:47:17

标签: c#

我似乎无法获得将文本写入文本文件或ini文件的功能。它一直在将其写入并粘贴到Visual Studio的源文件夹中。因此,我运行它,并询问是否要将其保存到目录中,但是它一直将其粘贴到错误的文件中,并且不会写入正确的文件,如下所示。我保留并尝试对其进行修复,但是没有任何效果。

            Console.Title = "Night Premium";

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("----------------Update-Log-----------------");
            Console.WriteLine("-                                         -");
            Console.WriteLine("- 1. New premium ranks                    -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-                                         -");
            Console.WriteLine("-------------------------------------------");

            Console.WriteLine("\n");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Welcome to Night premium! Please sign in");
            Console.WriteLine("\n");
            Console.WriteLine("Password: ");
            if (Console.ReadLine() == Data)
            {
                Console.WriteLine("\n");
                Console.WriteLine("Checking passwords...");
                Console.WriteLine("Are we allowed to create a directory file, for Night premium in C:/Night_Premium { Y|N }");
                Console.WriteLine("\n");
                if (Console.ReadLine() == "Y")
                {
                     Directory.CreateDirectory(@"C:\Night_Premium");
                     Console.WriteLine("Created Directory....");
                     Console.WriteLine("\n");
                     Thread.Sleep(3000);
                    if (!File.Exists(@"C:\Night_Premium\Whitelist.txt"))
                    {
                        File.Create(@"C:\Night_Premium\Whitelist.txt");
                    }
                    else
                    {
                        Console.WriteLine("Writing to whitelist.txt");
                        Console.WriteLine("\n");
                        Thread.Sleep(3000); ;
                        {
                            File.WriteAllText(Directory.GetCurrentDirectory() + @"\Settings.ini", "TopMost = true");
                            Console.WriteLine();
                        }
                    }
                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

我假设您要写入新创建的目录。因此,您需要一个变量来根据用户的决定来设置目标。

因此,我将使用其他变量来存储当前目录:

var targetname = Directory.GetCurrentDirectory() + @"\Settings.ini;

如果用户创建的目录将覆盖它:

var targetname = @"C:\Night_Premium\Whitelist.txt"

还更改您的WriteAllText代码以使用此变量:

File.WriteAllText(targetname, "TopMost = true");

============================================

备用:

如果您只想写入“ Night Premium”目录,则可以肯定使用以下命令:

File.WriteAllText(@"C:\Night_Premium\Settings.ini", "TopMost = true");

答案 1 :(得分:0)

directory.getcurrentdirectory将获取您正在执行代码的文件夹。使用变量或将其中的路径硬编码为所需的文件夹。