Witam,
Napisałem aplikację ale potrzebuje pomocy odnośnie wczytania każdego elementu z pliku. Oczywiście mam już zrobiony zapis, który wygląda w pliku następująco:
NNYNNNNN
YNYNNNNN
NYYNNNNN
NNNNNNNN
NNNNNNNN
NNNNNNNN
NNNNNNNN
NNNNNNNN
Kod który odpowiada za zapis w takiej postaci do pliku tekstowego:
public void save()
{
SaveFileDialog s = new SaveFileDialog();
s.Filter = "plik (*.txt)|*.txt";
try
{
if(s.ShowDialog() == DialogResult.OK)
{
FileStream f = new FileStream(s.FileName, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(f);
for (int i = 0; i < LiczbaKolumn; i++)
{
for (int j = 0; j < LiczbaWierszy; j++)
{
if(macierz[i][j] == "element")
{
sw.Write("Y");
}
else
{
sw.Write("N");
}
}
sw.WriteLine("\n");
}
sw.Close();
f.Close();
MessageBox.Show("zapisano stan");
}
}
catch
{
MessageBox.Show("błąd!");
}
}
Próbowałem zrobić odczyt ale pobiera mi całą pierwszą linię z pliku, która później ta linia nie nadaje się do wpisania stanu "element" w macierzy, ponieważ potrzebny jest mi pojedynczy znak z każdej linii do każdej komórki.
Kod z odczytem:
public void open()
{
OpenFileDialog o = new OpenFileDialog();
o.Filter = "plik (*.txt)|*.txt";
o.Multiselect = false;
try
{
if(o.ShowDialog() == DialogResult.OK)
{
FileStream f = new FileStream(o.FileName, FileMode.OpenOrCreate, FileAccess.Read);
StreamReader sr = new StreamReader(f);
string linia;
while((linia = sr.ReadLine()) != null)
{
//pojedyńczy element
}
sr.Close();
file.Close();
MessageBox.Show("odczytano stan!");
}
}
catch
{
MessageBox.Show("błąd!");
}
}