Loading...
sevdalin avatar sevdalin 38 Точки

Как да записваме резултата във "вграден" 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());
    }
}

Къде бъркам и какво трябва да направя, за да се получи това което желая?

Тагове:
0
C# Advanced
valcho62 avatar valcho62 178 Точки

Какво значи "вградил" ? Имаш си 2 файла и двата са в папката bin/debug. От единия четеш ,в другия пишеш. Ако искаш да пишеш в двата просто добави още 1 ред за писане.

0
sevdalin avatar sevdalin 38 Точки

Означава, че както си добавяш един файл в проекта, който е закачен за него и не е нужно да съществува на локалния ти диск в никоя папка, а когато стартираш програмата тя си чете от там или си го създава тогава в debug папка и т.н., така искам да си "закача" такъв файл в проекта, но върху който да се Пише.

0
valcho62 avatar valcho62 178 Точки

Мисля, че те разбрах какво искаш, макар, че това е дивотия. Ти искаш съдържанието на файла да ти стои като код в програмата. Това е лесно - копи-пейст на съдържанието на файла в променлива .Но това е пълна дивотия. Това съдържание вече не можеш да го променяш, защото това вече става част от кода. А и тази информация пак си е на диска, но вече не е в отделен файл, а в cs файла на програмата.

Ако това ти е идеята - забрави я и се научи как да обработваш файлове.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.