Kezdőoldal » Számítástechnika » Programozás » Mi nem jó ebben a fájlkezelésb...

Mi nem jó ebben a fájlkezelésben? (c#)

Figyelt kérdés

FileStream file = new FileStream("eredmeny.txt", FileMode.OpenOrCreate);


StreamReader reader = new StreamReader(file);

string tartalom = reader.ReadLine();

reader.Dispose();

reader = null;

file.Dispose();

file = null;

string[] tomb = new string[1];

if (tartalom != null)// (new string[] {"&"})

{

tomb = tartalom.Split((new string[] { "&" }), StringSplitOptions.None);

}

if (tartalom == null || tartalom == "" || (tartalom.Contains("&") && Convert.ToInt32(tomb[0]) < Convert.ToInt32(pontod.Text)))

{


StreamWriter writer = new StreamWriter("eredmeny.txt", false);

writer.WriteLine(Convert.ToInt32(pontod.Text) + "&" + textBox1.Text);

writer.Flush();

writer.Dispose();

writer = null;


}


Mi a baj ezzel a fájlkezeléssel?

Elméletben egy txt fájlban tárolnánk egy nevet '&' karakterrel elválasztva a hozzá tartozó pontszámtól. ez a cucc bekérné a pontot összehasonlítaná az elért pontal(ez a pontod.text ben van) és végül ha nagyobb akkor lecseréli a txt ben a pontot és a nevet. viszont ezt írja hibának:


Input string was not in a correct format.


Mi a hiba. köszönöm előre


2011. okt. 1. 21:55
 1/9 Manesz ***** válasza:
A beviteli szöveg nincs megfelelő formátumban.
2011. okt. 1. 22:08
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
dehát string az is nem? vagy rosszul látom? vagy mire gondolsz pontosan?
2011. okt. 1. 22:13
 3/9 anonim ***** válasza:
a program futásakor a `tomb` tömb első eleme és a `pontod` objektum `Text` field-je milyen értéket vesz fel?
2011. okt. 1. 22:18
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
ezt a kódot nem én írtam egy barátom, mert sosem használtam ien fájlkezelést még nem tudom, még 100% osan a kód működését. azt kb értem h a reader beleolvassa egy változóba ebben az esetben egy tömbbe a a szöveget és valahogy így iratja ki csak ugye a writer de nem teljesen értem még azért kértem segítséget. :S
2011. okt. 1. 22:21
 5/9 A kérdező kommentje:
de am string nem?
2011. okt. 1. 22:25
 6/9 anonim ***** válasza:

string tartalom = System.IO.File.ReadAllText("eredmeny.txt");

if (!string.IsNullOrEmpty(tartalom))

{

string[] tomb = tartalom.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);

if (tomb.Length == 2) //Pontosan 2 elemunek kell lennie, mert ugye egy nev meg egy pontszam van

{

int pontszamAFileban = 0;

int pontszamAmitHasonlitaniAkarsz = 0;

if (

int.TryParse(tomb[1], out pontszamAFileban) &&

int.TryParse(pontod.Text, out pontszamAmitHasonlitaniAkarsz)

)

{

if (pontszamAmitHasonlitaniAkarsz > pontszamAFileban)

{

System.IO.File.WriteAllText("eredmeny.txt", pontod.Text + "&" + textBox1.Text);

}

}

else

{

//Ha ide jottunk, akkor vagy a pontod.Text, vagy a tomb[1] nem ertelmezheto számként,

//tehát valamit elbasztál

throw new ArgumentException("A pontod.Text vagy a tomb[1] nem egész szám.");

}

}

else

{

//A file-ban volt valami, de nem abban a formátumban, ahogy neked kell;

//A hibakezelést rádbizom

}

}

else

{

//A file üres volt; Hogy ez hiba-e, azt már döntsd el te

}

2011. okt. 1. 23:14
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Read/WriteAllText -->> hatalmas!!;D
2011. okt. 1. 23:24
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
23.24: Mié', mi a gond vele? Kissé átláthatóbb, úgyis csak egyetlen sort tartalmaz a file, minek f-szkodni a sok Dispose/Flush meg ilyenolyan Reader meg Writer-ekkel?
2011. okt. 1. 23:43
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

persze, azért mondom

hogy kerülhette ez el eddig a figyelmemet :(

2011. okt. 2. 14:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!