Как да записваме резултата във "вграден" file.txt в проекта
Здравейте, имаме задача от Regex темата (Lab-a) да прочетем един текстов file, който е пълен с данни и да извадим филтрираните.
Това, което исках да направя е да "вградя" този файл в програмата, за да може дори да го изтрием от директорията на компютъра, тя да си го създава автоматично и да не гърми. Това го направих, като добавих "OriginalDataEntries.txt" в проекта и му зададох следните свойства на файла:
- Build Action: Embedded Resource
- Copy to Output Directory: Copy if newer
Тук нямам проблем и си работи, но това което не успявам да направя е да накарам да записва резултата не само във файл на локалния диск в bin/debug папката, ами в другият файл, който съм "вградил" в проекта. На него съм му задал същите свойства, но за съжаление нищо не се получава там. Всеки път записва резултатите на нов file на локалния диск.
Ето кода:
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
class LabRegex
{
static void Main()
{
var dataEntries = File.ReadAllLines("OriginalDataEntries.txt");
string pattern = @"([A-Z][A-Za-z+#]*)_([A-Z][a-zA-z]{2}_\d{4})\s+([A-Z][a-z]{0,3}\d{2}_\d{2,4})\s+(\d+)";
Regex regex = new Regex(pattern);
var result = new StringBuilder();
for (int i = 0; i < dataEntries.Length; i++)
{
Match singleMatch = regex.Match(dataEntries[i]);
if (singleMatch.Success)
{
result.AppendLine(singleMatch.Value);
}
}
File.WriteAllText("MatchedOutput.txt", result.ToString());
}
}
Къде бъркам и какво трябва да направя, за да се получи това което желая?
Означава, че както си добавяш един файл в проекта, който е закачен за него и не е нужно да съществува на локалния ти диск в никоя папка, а когато стартираш програмата тя си чете от там или си го създава тогава в debug папка и т.н., така искам да си "закача" такъв файл в проекта, но върху който да се Пише.
Мисля, че те разбрах какво искаш, макар, че това е дивотия. Ти искаш съдържанието на файла да ти стои като код в програмата. Това е лесно - копи-пейст на съдържанието на файла в променлива .Но това е пълна дивотия. Това съдържание вече не можеш да го променяш, защото това вече става част от кода. А и тази информация пак си е на диска, но вече не е в отделен файл, а в cs файла на програмата.
Ако това ти е идеята - забрави я и се научи как да обработваш файлове.