using System;
using System.Collections.Generic;
class File
{
public string Name { get; set; }
public int Size { get; set; }
public File(string name, int size)
{
Name = name;
Size = size;
}
}
class FileSystem
{
private List<File> files;
public FileSystem()
{
files = new List<File>();
}
public void CreateFile(string fileName, int fileSize)
{
File newFile = new File(fileName, fileSize);
files.Add(newFile);
Console.WriteLine($"File '{fileName}' created successfully.");
}
public void DeleteFile(string fileName)
{
File fileToDelete = files.Find(f => f.Name == fileName);
if (fileToDelete != null)
{
files.Remove(fileToDelete);
Console.WriteLine($"File '{fileName}' deleted successfully.");
}
else
{
Console.WriteLine($"File '{fileName}' not found.");
}
}
public void CopyFile(string sourceFileName, string destinationFileName)
{
File sourceFile = files.Find(f => f.Name == sourceFileName);
if (sourceFile != null)
{
File newFile = new File(destinationFileName, sourceFile.Size);
files.Add(newFile);
Console.WriteLine($"File '{sourceFileName}' copied to '{destinationFileName}' successfully.");
}
else
{
Console.WriteLine($"File '{sourceFileName}' not found.");
}
}
public void MoveFile(string sourceFileName, string destinationFileName)
{
CopyFile(sourceFileName, destinationFileName);
DeleteFile(sourceFileName);
Console.WriteLine($"File '{sourceFileName}' moved to '{destinationFileName}' successfully.");
}
public void RenameFile(string fileName, string newFileName)
{
File fileToRename = files.Find(f => f.Name == fileName);
if (fileToRename != null)
{
fileToRename.Name = newFileName;
Console.WriteLine($"File '{fileName}' renamed to '{newFileName}' successfully.");
}
else
{
Console.WriteLine($"File '{fileName}' not found.");
}
}
public void ListFiles()
{
Console.WriteLine("Files in the file system:");
foreach (var file in files)
{
Console.WriteLine($"- {file.Name} ({file.Size} bytes)");
}
}
}
class Program
{
static void Main(string[] args)
{
FileSystem fileSystem = new FileSystem();
fileSystem.CreateFile("file1.txt", 1024);
fileSystem.CreateFile("file2.txt", 2048);
fileSystem.CreateFile("file3.txt", 512);
fileSystem.ListFiles();
fileSystem.CopyFile("file1.txt", "file1_copy.txt");
fileSystem.ListFiles();
fileSystem.MoveFile("file2.txt", "file2_moved.txt");
fileSystem.ListFiles();
fileSystem.RenameFile("file3.txt", "new_file3.txt");
fileSystem.ListFiles();
}
}