Also ich hab folgendes Problem : Ich möchte eine Anwendung schrieben die aus einer Textdatei die wie Folgt aussieht :
Arm
Buch
Cannal
Fach
Code
Web
Infra
Bilder
mehr
Option
unsw............
immer 3 Wörter raus nimmt und in eine andre Textdatei schreibt. Von Oben nach Unten da ich zwischen den Wörtern immer die gleichen andren befehle für eine script sprache einsetzten muss .
Mein Code ist nicht vollständig da ich nicht weiss wie ich den Rest in die tat umsetzen muss. Kann mir jemand Helfen ? (Die Zeilen länge kann ich nie sagen weil das immer andre Textdatein mit verschieden vielen Wörtern sind die ich sozusagen umwandeln möchte).
FileStream f = new FileStream(path,
FileMode.Open);
try
{
StreamReader t = new StreamReader(f);
string line;
while ((line = t.ReadLine()) != null)
if (x == 1 )
{
erste = line;
}
if (y == 2)
{
zweite = line;
}
if (z == 3)
{
dritte = line;
}
x++;
f.Close();
}
finally
{
f.Close();
}
meine frage lautet eher wie kann ich sagen welche line geladen werden soll dan kann ich den wert als eine variable machen(das wäre sehr hilfreich da ich fast immer das gleiche problem hab) oder könnte mir jemand vielleicht ein code zeigen.
x = 0;
while ((line = t.ReadLine()) != null) { <-- Hier fehlte die Klammer
switch (x % 3) {
case 0:
erste = line;
break;
case 1:
zweite = line;
break;
case 2:
dritte = line;
// hier hast du alle drei zeilen gelesen, also etwas damit machen
break;
}
++x;
<-- Hier den FileStream nicht schließen, wenn Du noch weiterlesen willst! Schließen nur außerhalb von while!
}
Cooler wäre das Arbeiten mit einem Array:
String[] lines = {"", "", ""};
int x = 0;
while ((lines[x] = t.ReadLine()) != null) {
if (x == 2) {
// hier hast du alle drei zeilen gelesen. Sie stehen in lines[0], lines[1] und lines[2]
}
x = (x+1) % 3;
}
Das Wichtigste bei beiden Variante ist die Modulo-Rechnung mit %
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
Bitte wähle das nächste mal einen sinnvolleren Titel !
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...