Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citanje iz fajla u C#

[es] :: .NET :: .NET Desktop razvoj :: Citanje iz fajla u C#

[ Pregleda: 825 | Odgovora: 11 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cvolka11

Član broj: 163510
Poruke: 22
195.252.72.*



Profil

icon Citanje iz fajla u C#28.11.2007. u 18:42

Kako da pročitam reči odvojene blanko karakterom iz tekstualnog fajla u C#?

Hvala
28.11.2007. u 18:42 

android~paranoid
Mark Renton

Član broj: 81947
Poruke: 185
212.200.180.*



Profil

icon Re: Citanje iz fajla u C#28.11.2007. u 21:39
Code:

            StreamReader objReader = new StreamReader("nesto.txt");
            string str = objReader.ReadToEnd();
            objReader.Close();

            List<string> stringovi = new List<string>();

            foreach (string subString in str.Split(' '))
           {
                    stringovi.Add (subString);
           }

Mislim, šta reći !
28.11.2007. u 21:39 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8843
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Citanje iz fajla u C#28.11.2007. u 23:59
Nisam siguran pa taman i da se proverim, da li bi se str.Split(' ') izvrsilo samo jednom (kao sto bi bilo ovde potrebno)?
Tj. kako foreach interno radi?
28.11.2007. u 23:59 

aleksandarpopov
Software developer
Senta

Član broj: 57172
Poruke: 481
77.46.154.*

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 09:40
Da, pozvace se samo jednom i vratice niz stringova (ako ih ima)... uostalom imas ovde http://msdn2.microsoft.com/en-us/library/aa288257(VS.71).aspx
Pozdrav.
RTFM
29.11.2007. u 09:40 

cvolka11

Član broj: 163510
Poruke: 22
195.252.72.*



Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 15:07
Kapiram,hvala puno.

Jos jedno pitanje, kako bih mogao sada te reci da upisujem u novi fajl ali da budu sortirane,svaka rec u novom redu.

Hvala
29.11.2007. u 15:07 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3120
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 15:21
Zašto mi ovo liči na domaći/seminarski zadatak?

Šta ti konkretno ne ide, napiši kako si probao pa neće.
29.11.2007. u 15:21 

aleksandarpopov
Software developer
Senta

Član broj: 57172
Poruke: 481
77.46.154.*

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 15:23
Sa StreamWritter (http://msdn2.microsoft.com/en-us/library/aa735748(VS.71).aspx) i WriteLine - za svaki elemenat u onoj listi iz primera sto ti je android~paranoid dao.
RTFM
29.11.2007. u 15:23 

negyxo
Aleksandar Perkuchin
unknown

Član broj: 29751
Poruke: 649
77.46.157.*



Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 18:06
Citat:
Shadowed: Nisam siguran pa taman i da se proverim, da li bi se str.Split(' ') izvrsilo samo jednom (kao sto bi bilo ovde potrebno)?
Tj. kako foreach interno radi?


foreach je jezikca konstrukcija, tj. kompajler u pozadini uradi implementaciju while petlje. U zavisnosti da li objekat implementira IDisposable ovo varira:
Code:

Enumerator enumerator = (collection).GetEnumerator();
try {
    while (enumerator.MoveNext()) {
        ElementType element = (ElementType)enumerator.Current;
        statement;
    }
}
finally {
    IDisposable disposable = enumerator as System.IDisposable;
    if (disposable != null) disposable.Dispose();
}


Zanimljivo da Reflecotor prikazuje foreach petlju a ne ovakvu while konstrukciju, sto ce reci, izgleda da cita odredjeni blok IL kodova kako bi zakljucio da je u pitanju foreach petlja. Ono sto je jos zanimljivo je, sto sve nizove ([]) foreach drukcije konstruise u odnosu na klase koje implementiraju IEnumerable. Ukoliko klasa implementira IEnumerable onda se poziva citava ova konstrukcija, dok ako je u pitanju niz, onda se radi prosto uporedjivanje duzine niza sa trenutnom pozicijom u while petlji. Drugim recima, brze radi foreach sa [] nego sa klasama koje implementiraju IEnumerable i to skoro 2x.
Da, zaboravih, sporije je ako se radi samo uporedjivanje foreach bez ikakvog dodatnog overhead-a, sto u praksi niko ne koristi, dok ako postoji i obicno sabranje dve promenljive u foreach, onda ta razlika bledi sa povecanjem kompleksnosti operacije, drugim recima, skoro da je nebitno.

@cvolka11
Imas System.IO.File.ReadAllText method, posto vidim da citas odjednom ceo fajl.
Only Time Will Tell
29.11.2007. u 18:06 

android~paranoid
Mark Renton

Član broj: 81947
Poruke: 185
212.200.180.*



Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 18:09
Citat:
cvolka11: Kapiram,hvala puno.

Jos jedno pitanje, kako bih mogao sada te reci da upisujem u novi fajl ali da budu sortirane,svaka rec u novom redu.

Hvala


Code:

           stringovi.Sort();

           StreamWriter objWriter = new StreamWriter("nestoDrugo.txt");

           for (int i = 0; i < stringovi.Count; i++)
           {

               objWriter.WriteLine(stringovi[i]);
           }
           objWriter.Close();

Mislim, šta reći !
29.11.2007. u 18:09 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8843
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 19:11
@negyxo, hvala na odgovoru. Ono zbog cega sam pitao je to sto se sama kolekcija (niz u ovom slucaju) dobija u samoj foreach petlji pa ne znam da li kompajler nju uzme u neku promenljivu i onda nju koristi ili poziva svaki put? Pretpostavljam da je ovo prvo, ali sam par puta imao nedoumicu sta ce se desavati pa zato pitam (interesuje me i za javu isto, iako nije bas tema ovog foruma).
29.11.2007. u 19:11 

negyxo
Aleksandar Perkuchin
unknown

Član broj: 29751
Poruke: 649
77.46.157.*



Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 20:25
Citat:
Shadowed: Ono zbog cega sam pitao je to sto se sama kolekcija (niz u ovom slucaju) dobija u samoj foreach petlji pa ne znam da li kompajler nju uzme u neku promenljivu i onda nju koristi ili poziva svaki put? Pretpostavljam da je ovo prvo, ali sam par puta imao nedoumicu sta ce se desavati pa zato pitam (interesuje me i za javu isto, iako nije bas tema ovog foruma).


E sad, da li ovo konstatujes sta ti nije bilo jasno ili je pitanje? Ukoliko je pitanje onda iz prethodnog odgovora mozes videti da se GetEnumerator() poziva pre while petlje, sto znaci, da se ne poziva na svakoj iteraciji jer bi to bilo suludo. Verovatno i sam znas da svaki poziv f-je zahteva par operacija sa registrima i stekom, sto je bespotrebni overhead.
Sad, sto se tice jave, to vec ne znam, ali pretpostavljam da je resenje veoma slicno.
Only Time Will Tell
29.11.2007. u 20:25 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8843
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Citanje iz fajla u C#29.11.2007. u 21:06
OK, da, u pravu si, nisam lepo obratio paznju, kada uzme jednom enumerator, posle uvek radi sa istom kolekcijom (od koje je i uzet), i da, isto je i u javi. Hvala!
29.11.2007. u 21:06 

[es] :: .NET :: .NET Desktop razvoj :: Citanje iz fajla u C#

[ Pregleda: 825 | Odgovora: 11 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.