【发布时间】:2015-12-10 22:29:07
【问题描述】:
我正在创建一个数据库,但我的系统有一个小问题:我只能读取整个文件(不是变量),但可以将变量写入我的文件,但我也需要能够编辑文件。我可以编辑它,但我想自己编辑这些部分,而不必打开整个文件来编辑/仅在部分中替换整个文件中的给定字符串。
我想询问用户他们将更改文件中的哪个部分,但我的脚本更改了提供给整个文件的所有字符串。
这就是我想要的:
选择文件-->选择要编辑的部分/行-->输入数据-->保存数据 排队
文件如下所示:
Name: Kim jr.
Age: 1980/05/20
Gender: Male
Status: Single
Weight: 46.2 Kg
Friends: Unknown
Notes:
This is a dummy file, used for testing.
这就是我的代码目前的样子:
Console.Clear();
string[] fileArray = Directory.GetFiles(@"C:\Nova_Files\Database"); //slecets the files in the folder
if (fileArray.Length < 1)
{
Console.WriteLine();
Console.WriteLine("There are no files in the database for deleting");
Console.ReadLine();
}
else
{
Console.WriteLine("Here is a list of the files in the database, please select a file to edit.\n");
foreach (string name in fileArray) //shows the files in the folder.
{
Console.WriteLine(name);
}
Console.WriteLine();
userValue = Console.ReadLine();
string filename = userValue;
foreach (string x in fileArray)
{
if (x.Contains(filename))
{
Console.WriteLine();
Console.WriteLine(filename + " Was selected for editing");
Console.WriteLine();
Console.WriteLine("Press anykey to continue");
Console.ReadLine();
Console.Clear();
Console.WriteLine("The current editing " + filename);
Console.WriteLine("The File [" + filename + "] Contains This:\n");
string text = System.IO.File.ReadAllText(@"C:\Nova_Files\Database\" + filename);
Console.WriteLine(text);
Console.WriteLine();
Console.WriteLine("What do you want to edit?");
userValue = Console.ReadLine();
string needOfEdit = userValue;
Console.WriteLine();
Console.WriteLine("What will you replace " + needOfEdit + " With?");
userValue = Console.ReadLine();
string replacement = userValue;
File.WriteAllText(@"C:\Nova_Files\Database\" + filename, File.ReadAllText(@"C:\Nova_Files\Database\" + filename).Replace(needOfEdit, replacement));
text = System.IO.File.ReadAllText(@"C:\Nova_Files\Database\" + filename);
Console.WriteLine(text);
Console.Read();
【问题讨论】:
标签: c# database variables editing