Работа с текстови файлове

Работа с текстови файлове

Програма и данни

Всяка програма обработва данни. Програма без данни просто не съществуват. Тези програми могат да бъдат разделени в три групи: вход, изход и междинно съединение. Входни данни - това са данни, които са известни и са определени с цел да бъде в състояние да реши проблема. Изход - е резултат от решаването на проблема, данните се генерират в процеса на решаване на проблема. Обикновено, повечето от данните са междинните данни, генерирани от повечето програми, които в процеса на вземане на решение, не са резултат от решаването на проблема.

Къде са входовете? Те могат да бъдат настроени от потребителя в процеса на решаване на проблема. Можем да предположим, че в този sluchchae организиран диалог на потребителя и програмата. диалог Проектите конзолни intsiatorom е програмата. В Windows - инициатор на проекта е на потребителя.

Входните данни в някои случаи са посочени в програмата в началото на своята работа. Програмистът е отговорен за създаването на такива данни.

В големи софтуерни проекти входните данни, получени от външни източници. Естеството на тези източници могат да бъдат различни. Това може да е данни, съхранявани във външната памет на компютъра, данните, идващи от корпоративната мрежа или в Интернет, може да бъдат данни, идващи от различни устройства, свързани към компютъра.

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

Файлът за програмиране е набор от елементи, които се съхраняват във външната памет. File елементи се наричат ​​записи.

В по-общ контекст на файл с име събират, подвързан колекция от документи, документи. На английски, едно от значенията на думата «файл» - тази игла, които убождане проверки на български език - файл, наречен татко да държи ценни книжа.

Един от най-често срещаните видове файлове в програмирането е текстов файл, в който всеки запис се третира като текстов низ. Данните се четат от конзолата, или изхода на конзолата, могат да бъдат разглеждани като текстови файлове, на които операциите на Readline и WriteLine. Първият от тези операции, прочетете следващия запис на файла - един ред от текста. Вторият - следващия запис във файла за записи.

Създаване на текстов файл

Трябва да се помни, една важна функция работи с текстови файлове в програмирането в C #. Текстови файлове трябва да бъдат запазени в UTF-8 (Unicode Text Format). Ето защо, когато запишете файл, който искате да инсталирате правилното кодиране. Когато се работи в Notepad, за да изберете съвпадение раздела кодиране "Encoding". Когато се работи в Visual Sudio околната среда, преди да запишете файла от менюто изберете / Разширени настройки за кодиране на файлове ... В прозореца, който се отваря, изберете желаната кодировка.

Софтуерът създава текстов файл, помислете по-долу.

Отваряне на текстов файл за четене

Да приемем, че текстовия файл е създаден. Как мога да прочетете записа на този файл в нашата програма на C #?

След приключване на четенето на файла трябва да бъде затворена и да се освободи съответния ресурс.

Нека погледнем по-отблизо в процеса на работа с текстов файл в конзолата проект. Първата стъпка е да се създаде проект в конзолата, например, с името ConsoleTextFile. При изграждането на участъка Програма клас по подразбиране, добави позоваване използване на пространството от имена

Space IO (вход / изход) пространство от имена съдържа много полезни уроци за работа с файлове.

В класа на програмата, декларира вход обект, представляващ текстов файл за четене:

/// файл вход за четене

статичен вход StreamReader;

За да не се претоварва protsedry Майн, извършва директно в него цялата работа, свързана с файла, ние разделяме нашата задача в подзадачи. За всяка задача, попитайте вашия метод и ще се обадя на тези методи в Главна процедура.

Първата стъпка е да добавите няколко реда в основната:

// Отваряне на файл за четене

Булева намерен ще бъде настроен на истина, ако файлът може да отвори, и невярно - в случай на повреда. метод OpenReadFile предвижда отваряне на файл. Ето как изглежда:

/// път към входния файл е посочено изрично

/// вярно, ако се отвори файл, успешно

статично булев OpenReadFile ()

// Задаване на пътя до директорията, която съхранява проекта, и файлът за четене

// Проверка на съществуването на файл в посочената директория

// Отваряне на текстов файл за четене

вход = нов StreamReader (път);

Console.WriteLine ( "Файлът се отваря за четене");

Console.WriteLine ( "грешка в пътя до файла на работа!");

StreamReader клас конструктор създава вход програма обект и го свързва с физически файл. Тази операция е успешна, ако на пътя към текстовия файл е правилен. Тъй като грешката в тази операция може да се случи доста често (файл се изтрива, премества или път не е валиден), тя осигурява проверка на съществуването на файла. При тестване на статичен метод на класа съществува файлове, връща истина, ако даден файл съществува за съответния път, невярна - ако файлът не е налице.

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

обработване на данните текстов файл

При обработката на записите на файлове се приема, че файлът е бил отворен успешно. Ние също така се предположи, че при обработването на последователно четене и обработват всички записи на файла. Първият въпрос, който възниква, е съхранена във файла, за да разберете колко много записи. Един от най-често използваните решения, специфични проблеми олимпиада по компютърни науки или изпита проблеми, е, че първото влизане файл съдържа цяло число се посочва номера на допълнително следните записи. В този случай, първо запис, е ясно, колко линии искате да прочетете цялата преписка за преработка.

Друг метод се основава на свойствата на EndOfStream, които има нашият обект StreamReader клас вход. Това е Булева имот връща вярно, когато в края на файла, така че е лесно да се повтаря:

Добави Майн няколко реда текст:

// четене и обработка на файловете

Ако файлът е отворен успешно, може да се чете и обработва и завършен obrabotu трябва затворете файла. метод ReadingFile извършва четене и обработка на файла. В този пример, методът е предназначено просто. Предполага се, че файлът е в първия ред съдържа броя на записите. Следователно, първата линия се отчита на първо място, а след това става известна стойност на п - брой на действителните записи. На следващо място, в един цикъл на п редове са прочете файл. Обработка на линия в този случай, сключен SWFI към конзолата. Ето текста на метода:

/// Четене и обработване на файлове

статично невалидни ReadingFile ()

// Първият ред съдържа редица допълнително разположени линии

за (INT I = 0; и

низ ток = input.ReadLine ();

// обработка на запис - на изхода на конзолата.

Нека добавим в Главна поканата друг метод NextReading, в който се води делото повторното отваряне и обработени:

// Повторно отваряне на файла и обработката

При този метод, при четенето на файла ще се използва, докато контур. Това е кодът за този метод:

/// Четене и обработване на файлове

статично невалидни NextReading ()

Console.WriteLine ( "Възобновяване и четене на файл");

низ ток = input.ReadLine ();

// обработка на запис - на изхода на конзолата.

Софтуерът създава текстов файл

Както и при работа с файл за четене, когато се работи с текстов файл е необходим за записване obyavt съответстваща програма обект (файл), свържете го към физически файл, отворен за вписвания и запишете желания брой записи файл.

Добави изход клас Програма поле обект, посочете файла с изходните данни, както и други предмети, които се използват при работа с файлове:

/// Изходният файл за писане

статичен изход StreamWriter;

статичен път низ;

/// брой записи във файл -

В Главна процедурата за добавяне на извикване на метод отваря файла за запис:

// отворен за запис

Разбираемо е, че даден файл, когато пишете ситуацията е различна от тази на четене на файла. Предполага се, че физическата четене файл трябва да съществува към момента на откриването, в противен случай възникне грешка. Когато отворите файл на файл за запис може да не съществува. В този случай, следва да се установи физическия файл (все още празен), за да го свържете с логическата файл и отворен за писане. Ако файлът съществува, и ние искаме да пиша да пиша, а след това има две възможности - да изтриват старите записи и да започнат отново писане на даден файл или да добавите нов запис към съществуващ файл. Ето OpenWriteFile метод, който взема под внимание тези функции:

/// писане файл.

/// Ако файлът не съществува, тя е създадена

/// Ако файлът съществува тя ще бъде заменена

статично невалидни OpenWriteFile ()

// Получаване на пътя до директорията, която съхранява проекта, и файлът за писане

// Open, за да добавите записи до края на файла

// изход = нов StreamWriter (пътека, вярно);

// Отваряне на текстовия файл, старите записи се премахват

изход = нов StreamWriter (път);

// Създаване на текстов файл, да пише на файла

изход = нов StreamWriter (пътека, вярно);

Console.WriteLine ( «отваряне на файл за запис");

Ние сега се покаже един прост пример за това как да добавите елементи във файл. Поставете няколко реда в Main процедура:

процедура WritingFile пише на файла:

статично невалидни WritingFile ()

// Първият ред съдържа редица допълнително разположени линии

за (INT I = 0; и

низ ток = (10 * I) .ToString ();

Console.WriteLine (изход «файла успешно писмен");

Файлове като операционна системните ресурси. ресурси по изданието

Ясно е, че един и същи файл може да се използва в различни програми. Много е вероятно да се случи, когато множество едновременни програми, стартирани на компютъра ви ще се нуждаят от един и същи файл. Операционна система (ОС) на компютъра регулира достъпа на различни програми за даден файл, което ви позволява да се избегнат конфликти, докато пишете или четете. Когато операционната система предвижда да подаде едно заявление за достъп до файла е блокиран AJ всички други програми. От своя страна, програмата завърши с файл, трябва да се освободи ресурс, уведомяване на операционната система, че файлът е безплатно и може да се дава на друга програма. Добави към края на процедурата Основни две линии osovobozhdayuschie ресурси:

Резултатите от проекта

Работа с текстови файлове

Фиг. 1 Резултатите от работата по проекта ConsoleTextFile

Изтеглете лекцията може да бъде на следния линк: