» »

[C#] Podatki objekta v .txt file

[C#] Podatki objekta v .txt file

Cvenemir ::

Za izpis podatkov objekta v .txt sem napisal naslednjo funkcijo, vendar datoteke Osebe.txt sploh ne ustvari, če pa jo ustvarim vnaprej, se vanjo ne zapiše nič podatkov.

Kaj je treba spremeniti?
public static void ZapisiVTxt(List<Oseba> osebe)
        {
            StreamWriter tw = new StreamWriter("Osebe.txt");

            foreach (Oseba os in osebe)
            {
                tw.WriteLine(os.Ime, os.Priimek, os.DatumRojstva, os.Davcna);
            }
            tw.Close();
        }

programercek ::

vedno moras najprej ustvarit datoteko in sele nato napisati podatke.
ce ustvaris datoteko vnaprej se ustvari in s kaksno kodo? poslji celo kodo da vidim kako mas narejeno.

norcuron ::

Najprej se odloči a boš dodajal zapise in bo datoteka rasla ali boš vedno na novo kreiral datoteko, v C# lahko to narediš na malo morje načinov - osnova ti je pravilno postavljen podatkovni tok (stream), ostalo so malenkosti pol.
Great are mysteries of the mind ... or not?

Cvenemir ::

Zapise bi rad dodajal, ker moram v datoteko zapisati podatke vseh objektov na seznamu.

@Programercek - datoteke nisem ustvaril preko kode, poskusil sem jo ustvariti "kar na roke" v direktoriju, kjer je program.

^TMS^ ::

Konstruktor za StreamWriter spremeni v
StreamWriter tw = new StreamWriter("Osebe.txt", true);
Boolean parameter pove, da želiš podatke dodajati datoteki, če ta ne obstaja, jo ustvari.

Za vpisovanje pa raje stavek preoblikuj v "+" varianto namesto "," oz. v
tw.WriteLine("{0} {1} {2} {3}", os.Ime, os.Priimek, os.DatumRojstva, os.Davcna);
To iterate is human, to recurse divine.

Zgodovina sprememb…

  • spremenil: ^TMS^ ()

Cvenemir ::

public static void ZapisiVTxt(List<Oseba> osebe)
        {
            StreamWriter tw = new StreamWriter("Osebe.txt", true);

            foreach (Oseba os in osebe)
            {
                tw.WriteLine("{0} {1} {2} {3}",os.Ime, os.Priimek, os.DatumRojstva, os.Davcna);
            }
            tw.Close();
        }


Zgornja metoda še vedno ne ustvari datoteke. Je možno da jo ustvari na kateri drugi lokaciji?

Zgodovina sprememb…

  • spremenil: Cvenemir ()

^TMS^ ::

Ustvarilo jo bo direktoriju, kjer je .exe datoteka. Morda nimaš pravih privlegijev; poskusi za pot izbrati absolutno pot do Namizja in povej, če bo stvar delovala.
To iterate is human, to recurse divine.

Cvenemir ::

StreamWriter tw = new StreamWriter("C:/Uporabniki/Cvene/Namizje/Osebe.txt", true);

            foreach (Oseba os in osebe)
            {
                tw.WriteLine("{0} {1} {2} {3}",os.Ime, os.Priimek, os.DatumRojstva, os.Davcna);
            }
            tw.Close();

Napaka: prevajalnik javi, da datoteka Osebe.txt ne obstaja. Čudno, glede na to, da bi se morala ustvariti

^TMS^ ::

Narobno si podal pot:
StreamWriter tw = new StreamWriter(@"C:\Uporabniki\Cvene\Namizje\Osebe.txt", true);
To iterate is human, to recurse divine.

Cvenemir ::

Najlepša hvala. Sedaj deluje :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

VB.streamwriter

Oddelek: Programiranje
121019 (852) P=LN
»

[c#] shrani text, tabele, slike

Oddelek: Programiranje
251524 (1130) klemen93
»

[C#] Zapis texta v nek file

Oddelek: Programiranje
61015 (913) gnomee
»

[C#] Kopiranje osebe iz seznama v drug seznam

Oddelek: Programiranje
51505 (1366) Presidente
»

C# (strani: 1 2 )

Oddelek: Programiranje
9712102 (8937) Ericssony

Več podobnih tem