Справочная информация:
Я хотел бы развить свои навыки в C # и в результате создал приложение, которое имитирует АЗС.Каждые 2 секунды приложение создает новое транспортное средство и назначает его одному из 9 насосов на привокзальной площади (в зависимости от того, какой из них следующий).После дозаправки автомобиля через x секунд он покидает насос и освобождает его, чтобы его можно было использовать снова.Я использовал Console.Clear (), чтобы перерисовывать дизайн передней площадки каждый раз, когда автомобиль въезжает на бензозаправочную станцию или покидает ее, чтобы создать впечатление динамичного приложения.Когда транспортное средство покидает автозаправочную станцию, я хочу записать тип транспортного средства, количество литров заправленного топлива и какой насос он обслуживал, чтобы вести своего рода журнал каждой транзакции.
Что у меня естьсделано:
В этом классе я создал журнал, в котором записывается тип транспортного средства, номер насоса, на котором он обслуживался, и количество литров топлива, которое было подано на конкретное транспортное средство, и записывается водна строка в файл .txt.Затем я прочитал из файла .txt и напечатал каждую строку в журнале.
using System;
using System.Text;
using System.IO;
namespace PetrolStationManagement
{
class TransactionLog
{
public static Vehicle currentVehicle = null;
public static void LogVehicle(Vehicle v, Pump p)
{
currentVehicle = v;
Data.pumpNum = p;
try
{
// passes filepath and filename to streamWriter constructor
StreamWriter sw = new StreamWriter("G:\\PetrolStation\\TransactionLog.txt", true, Encoding.ASCII);
// writes transaction details to file
sw.WriteLine("{0}.\tVehicle Type: {1}\tPump No. : {2}\tLitres Dispensed to Vehicle: {3}\n", v.carID, v.vehicleType, p.pumpNum, Pump.litresDispensedToVehicle);
sw.Close();
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
}
}
public static void ShowTransactions(Vehicle v, Pump p)
{
currentVehicle = v;
Data.pumpNum = p;
// shows details of all the transactions made
try
{
using (StreamReader sr = new StreamReader("G:\\PetrolStation\\TransactionLog.txt")) // passes the filepath and filename to streamReader constructor
{
string line;
while ((line = sr.ReadLine()) != null) // read and display lines from file to console until end of file
{
// write line to console
Console.WriteLine(line);
// read next line
line = sr.ReadLine();
}
}
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
}
}
}
}
Вместо этого мне нужно прочитать файл .txt и отобразить последние 5 транзакций наконсоль для пользователя, так как в противном случае список станет чрезмерно длинным - и пользователь не сможет увидеть переднюю площадку сверху, которая показывает, какие насосы доступны, а какие используются.
Я все еще относительно новичок в программировании в целом, и я изо всех сил пытаюсь выяснить, как это можно сделать.
РЕДАКТИРОВАТЬ Я не слишком обеспокоен кодированием, как мой основнойвопрос не в том, как прочитать последние n строк файла и вывести их на консоль !!