🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #21480

Re: czytanie asynchroniczne pliku - proszę o pomoc

#21480
From: GrzybSon
Date: Mon, 17 May 2010 06:27
53 lines
2837 bytes
Użytkownik "Zeus" <s.zapasnik@cbk.poznan.pl> napisał w wiadomości 
news:4BF05872.5040305@cbk.poznan.pl...
> //plik zapisany jako txt
> text  text  // zbędny nagłówek
> int  double // tylko double
> int  double // tylko double
> int  double // tylko double
> //itd. do 800000 lini
>
> MS VC#2008exp
>
> Czy ktoś zechciał by udostępnić kawałek kodu. Ponieważ na temat jest 
> bardzo mało przykładów a ja nie potrafię sobie poradzić z problemem.
> Pliki są spore i jest ich dużo stąd pomysł o asynchronicznym czytaniu, 
> jednak wykonanie w C# mnie chyba przerosło. Dlatego jeszcze raz proszę o 
> pomoc i wyrozumiałość.
>
> Pozdrawiam
> S.Z.
>

Napisz najpierw co oznacza dla Ciebie asynchroniczne czytanie pliku i czemu 
zamierzasz czytać asynchronicznie?

Z tego co widzę to plik, których chcesz czytać ma ustaloną strukturę ale nie 
jest raczej XMLem więc chyba najlepiej tutaj skorzystać z
BinaryReadera:

BinaryReader br = new BinaryReader(new FileStream(FileName, FileMode.Open));

a potem np. do czytania inta czy doubla używasz funkcji br.ReadInt32() 
br.ReadDouble() itp.

Ogólnie plik jest wtedy potraktowany jako strumień danych, a wtedy możesz 
robić z nim różne rzeczy jak np. przesuwanie się do dowolnego miejsca w 
pliku. Nie musisz wtedy wczytywać całego pliku naraz do pamięci, lecz 
doczytywać potrzebne informacje na żądanie.

Można także potraktować plik jako tekstowy i wczytać całą zawartość pliku do 
pewnej struktury przy pierwszym odczycie pliku używając kodziku:

           // create reader & open file
            Textreader tr = new StreamReader("date.txt");

            // read a line of text
            Console.WriteLine(tr.ReadLine());

            // close the stream
            tr.Close();

-- 
Pozdro,
 Maćko 
Technical Details
Message-ID: <hsqnkm$i09$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
References: <4BF05872.5040305@cbk.poznan.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: "GrzybSon" <mrychter@kenbit.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: czytanie asynchroniczne pliku - proszę o pomoc
Date: Mon, 17 May 2010 08:27:35 +0200
Organization: http://onet.pl
Lines: 56
Message-ID: <hsqnkm$i09$1@news.onet.pl>
References: <4BF05872.5040305@cbk.poznan.pl>
NNTP-Posting-Host: 62-121-97-180.home.aster.pl
X-Trace: news.onet.pl 1274077654 18441 62.121.97.180 (17 May 2010 06:27:34 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Mon, 17 May 2010 06:27:34 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-EsetScannerBuild: 7119
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit