我已经使用此代码为用户创建登录,但如果我尝试添加更多,则会覆盖当前的。我试图在文件模式下使用追加,给我错误信息。
public void AddNewUser()
{
Console.Clear();
Console.WriteLine("Creating New User");
String Username, Password = string.Empty;
Console.WriteLine("Enter The UserName");
Username = Console.ReadLine();
Console.WriteLine("Enter The Passwrod for the User");
Password = Console.ReadLine();
StreamWriter sw = new StreamWriter(File.Create("C:/Users/Olasunky/Documents/Visual Studio 2012/Projects/TheFileVersionMaintenanceUtility/Password/UserNameAndPassword.txt"));
sw.WriteLine(Username);
sw.WriteLine(Password);
sw.Close();
Console.WriteLine("Done....");
}
答案 0 :(得分:2)
使用System.IO.File.AppendText(string path)附加到文件而不是覆盖它。
答案 1 :(得分:0)
这是因为你在每次执行时都覆盖了文件。
File.Create
- 创建一个新文件。如果同一路径上的文件具有相同的名称和相同的扩展名,则会删除旧文件并创建新文件。
看看File.AppendText
,这可以帮助您解决问题。
此外,在C#中捕获异常很重要。它可能会给您一条错误消息,因为没有文件或您使用File.AppendText错误。
答案 2 :(得分:0)
如果要将数据附加到file.false以覆盖该文件,则为true。如果指定的话 文件不存在,此参数无效,构造函数创建 一个新文件。
static void Main(string[] args)
{
Console.Clear();
Console.WriteLine("Creating New User");
String Username, Password = string.Empty;
Console.WriteLine("Enter The UserName");
Username = Console.ReadLine();
Console.WriteLine("Enter The Passwrod for the User");
Password = Console.ReadLine();
StreamWriter sw = new StreamWriter("D:/UserNameAndPassword.txt",true);
sw.WriteLine(Username);
sw.WriteLine(Password);
sw.Close();
Console.WriteLine("Done....");
}