עבור לתוכן

עריכת קובץ טקסט - C#

Featured Replies

פורסם

יש לי תרגיל שבו אני קורא נתונים מקובץ טקסט, כל שורה זה אובייקט והא מורכבת ממספרים שמופרדים בניהם בפסיק, המספר האחרון בכל שורה זה מספר העותקים של אותו אובייקט (זה אובייקט מסוג Movie).

אחת המתודות שעלי לכתוב זה השכרת סרט אז אחרי ההשכרה אני רוצה לעדכן את המלאי ולהוריד את מספר העותקים של אותו סרט (בתנאי כמובן שמלכתכילה הוא עמד על יותר מאפס), אז מה שקורה שבהשכרת סרט החבר שמשכיר נותן את שם הסרט (שנמצא בתחילת של שורה במקום הראשון) ואז אם אותו סרט קיים הוא מושכר.

אז מה שאני עושה זה אחרי שהמתודה מקבלת סרט מסויים היא קוראת שורה מהקובץ ואם ה-ID של הסרט שהחבר נתן שווה ל-ID של השורה שנקראה הסרט יושכר לחבר ואני רוצה לערוך את אותו השורה שמייצגת סרט ולהוריד את המלאי אבל אני רוצה לעדכן את הקובץ טקסט, כתבתי משהו אבל הקובץ קטסט שלי (נקרא בתוכנית data.txt) לא מתעדכן:


public void RentMovie(Movie m)
{
FileStream fs = new FileStream("data.txt", FileMode.Open, FileAccess.ReadWrite);
StreamReader sRead = new StreamReader(fs);
StreamWriter sWrite = new StreamWriter(fs);


while (!sRead.EndOfStream)
{
string ReadLine = sRead.ReadLine();
string[] split = ReadLine.Split(new char[] { ',' });


if (m.mMovieID == split[0])
{
int Number = int.Parse(split[3]);


if (Number > 0)
{
Number--;
string newLine = split[0] + "," + split[1] + "," + split[2] + "," + Number;
break;
}
else
{


}
}
}


fs.Close();
}

  • 2 שבועות מאוחר יותר...
פורסם

קובץ הטקסט לא משתנה כי לא שינית אותו חבוב.

שים לב שכל מה שאתה עושה זה לקרוא שורות מהקובץ וליצור בכל איטרציה מחרוזת של השורה החדשה. עם זאת, לא באמת החלפת את השורה הישנה בשורה החדשה בקובץ...

בהצלחה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים