Я создаю базу данных, и у меня есть небольшая проблема с моей системой: я могу читать только весь файл (а не переменные), но писать переменные в свой файл, но мне также нужно иметь возможность редактировать файл. Я могу отредактировать его, но я хочу редактировать разделы самостоятельно, не открывая весь файл для редактирования/замены заданных строк во всем файле только в разделах.C# Найти переменную в файле?
Я хочу спросить пользователя, какой раздел в файле они будут меняться, но мой скрипт изменяет все строки, заданные для всего файла.
так это то, как я хочу:
выберите файл -> выберите раздел/строка для редактирования -> входные данные -> Сохранить данные в линию
В файле выглядит следующим образом:
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();
Хорошо, спасибо, как бы я это сделал? я понятия не имею прямо сейчас –