Чтение куска данных из файла

Блог 09 января 2014

Теги: C#, программирование,оптимизация и продвижение сайтов

На одном совещании потенциальный подрядчик гордо заявил: - Клиенты присылают нам нечеловеческие эксемельки, и ничего, справляемся.
Маркетолог: - Я не поняла.
- Очень большие файлы.
Через некоторое время и у нас возникла проблема с разбором.

Пришлось изготовить утилиту для чтения куска данных. Работы на 15 минут. Создаем консольное приложение на C#.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using 

System.Configuration;

namespace ReadFilePart
{
    class Program
    {
        static void Main(string[] args)
        {
            try



            {
                //считать управляющие параметры
                //входной файл
                string fpath = 

ConfigurationManager.AppSettings["PATH"];
                //выходной файл
                string fpathOut = ConfigurationManager.AppSettings["PATHOUT"];


                //размер куска
                int MSIZE = int.Parse(ConfigurationManager.AppSettings["MSIZE"]);
                //стартовая позиция
 

               int START = int.Parse(ConfigurationManager.AppSettings["START"]);

                //открыть поток чтения входного файла
                

FileStream fs = new FileStream(fpath, FileMode.Open);
                //определить размер данных 
                int len = (int)fs.Length;
                

if (len > MSIZE)
                    len = MSIZE;
                byte[] bs = new byte[len];
                //считать часть данных
                

fs.Read(bs, START, len);

                //открыть поток записи выходного файла
                FileStream fsOut = new FileStream(fpathOut, 

FileMode.Create);
                //записать данные
                fsOut.Write(bs, 0, len);
                //закрыть потоки
                fs.Close

();
                fsOut.Close();
            }
            catch (Exception ex)
            {
                //показать ошибку
                

Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }
        }
    }
}
Пример конфигурационного файла.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key=

"PATH" value="c:	empym.xml"/>
    <add key="PATHOUT" value="c:	empym1.xml"/>
    <add key="MSIZE" value="100000"/>
    <add key=

"START" value="0"/>
  </appSettings>
</configuration>

Комментарии

Комментариев еще нет.
Добавить комментарий могут только авторизованные пользователи. Авторизоваться
Комментарий

Оценка





Авторизоваться через http://www.pvobr.ru
Логин
Пароль
Регистрация

Авторизоваться через соцсети
Наверх