Mi nem jó ebben a fájlkezelésben? (c#)
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
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
}
persze, azért mondom
hogy kerülhette ez el eddig a figyelmemet :(
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!