Uppgift att skriva kod till en textfil för C# (nybörjare)

Permalänk
Medlem

Uppgift att skriva kod till en textfil för C# (nybörjare)

Så har en uppgift där vi ska skriva vår kod till en textfil, jag är som i rubriken nybörjare och har kollat upp olika sätt på hur man gör detta. Men då att jag inte vet exakt vad som gör vad känns det som i min nuvarande kod att någon har gått fel, programmet skrivs i min konsol utan problem, men varken en textfil skapas eller skrivs till en existerande textfil och vet inte om jag har tänkt fel? Detta är delen av min kod som jag trodde skulle skriva till en textfil eller skapa en textfil.

UPPDATERING: Verkade som att den alltid hamnade i min DEBUG, ska om jag kan ändra på det.

static void PrintSalesmen()
{
StreamWriter file = new StreamWriter("results.txt", false, System.Text.Encoding.UTF8);

Console.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:");

file.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:");

for (int i = 0; i <= 5; i++)
{
Console.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products);
file.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products);
}
string level = "";
int number = 0;
foreach (Salesman k in seller)
{
if (level != k.level)
{
Console.WriteLine("\n{0}{1}\n", number, level);
file.WriteLine("\n{0}{1}\n", number, level);
number = 0;
level = k.level;
}
number++;

}
Console.WriteLine("\n{0}{1}\n", number, level);
file.WriteLine("\n{0}{1}\n", number, level);

file.Close();
}

Jag har prövat att skapa en textfil i samma mapp som min kod är som då heter results.txt likt som jag har skrivit i min kod, jag har även prövat att direkt se om en fil automatiskt skapas men det sker inte heller. Så vad har jag gjort fel här tänker jag? Det funkar som sagt att skriva till konsolen felfritt, men inget till en textfil alls. System.IO; är applicerad även. Påverkar System.Text.Encoding.UTF8 något? Kanske måste jag på något sätt skriva en filsökväg? t.ex filmappen där själva koden är i och alla tillhörande mappar, ligger i min C:\Users på desktop.

Permalänk
Medlem
Skrivet av Tyler118:

static void PrintSalesmen() { StreamWriter file = new StreamWriter("results.txt", false, System.Text.Encoding.UTF8); Console.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:"); file.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:"); for (int i = 0; i <= 5; i++) { Console.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products); file.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products); } string level = ""; int number = 0; foreach (Salesman k in seller) { if (level != k.level) { Console.WriteLine("\n{0}{1}\n", number, level); file.WriteLine("\n{0}{1}\n", number, level); number = 0; level = k.level; } number++; } Console.WriteLine("\n{0}{1}\n", number, level); file.WriteLine("\n{0}{1}\n", number, level); file.Close(); }

Snyggade till det så det blir med läsligt för de som kan sånt här.

Permalänk
Medlem
Skrivet av Kalasis:

static void PrintSalesmen() { StreamWriter file = new StreamWriter("results.txt", false, System.Text.Encoding.UTF8); Console.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:"); file.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:"); for (int i = 0; i <= 5; i++) { Console.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products); file.WriteLine("\n" + seller[i].name + "\t" + seller[i].id + "\t" + seller[i].district + "\t" + seller[i].products); } string level = ""; int number = 0; foreach (Salesman k in seller) { if (level != k.level) { Console.WriteLine("\n{0}{1}\n", number, level); file.WriteLine("\n{0}{1}\n", number, level); number = 0; level = k.level; } number++; } Console.WriteLine("\n{0}{1}\n", number, level); file.WriteLine("\n{0}{1}\n", number, level); file.Close(); }

Snyggade till det så det blir med läsligt för de som kan sånt här.

Heh! Tackar så mycket!

Permalänk
Medlem

Filen skapas antagligen någonstans du inte förväntar dig.
Du kan skriva ut hela sökvägen genom att använda Path.GetFullPath("minfil.txt");

Permalänk
Medlem
Skrivet av noMad17:

Filen skapas antagligen någonstans du inte förväntar dig.
Du kan skriva ut hela sökvägen genom att använda Path.GetFullPath("minfil.txt");

hmm, vart ska man skriva den i kontext av resten av koden? tänker ska man ta bort någon linje av kod och ersätta med vad du skrev, eller ska den bara placeras in? Inom parantes, ska man då t.ex skriva ("C:\Users etc etc"); ???

Permalänk
Medlem

Kör du programmet genom debuggern så hamnar filen nog under /bin/debug.
Testa köra c:\text.txt bara för att se att du får ut nåt till där du vet att den hamnar.

Permalänk
Medlem
Skrivet av phanto:

Kör du programmet genom debuggern så hamnar filen nog under /bin/debug.
Testa köra c:\text.txt bara för att se att du får ut nåt till där du vet att den hamnar.

Du har rätt, den hamnade i min debug. Okej jag provar det!