Files in C#

To generate a unique filename in C#, you can use the Path.GetRandomFileName() method, which generates a random filename with a random extension. Here's an example:

string uniqueFilename = Path.GetRandomFileName();

To remove invalid characters from a filename in C#, you can use the Path.GetInvalidFileNameChars() method to get an array of invalid characters and then replace them in the filename string. Here's an example:

string invalidChars = new string(Path.GetInvalidFileNameChars());
string cleanedFilename = originalFilename;
foreach (char c in invalidChars)
{
    cleanedFilename = cleanedFilename.Replace(c.ToString(), "");
}

To get the MIME type from a filename extension in C#, you can use the MimeTypeMap.GetMimeType() method from the Microsoft.AspNetCore.StaticFiles package. Here's an example:

using Microsoft.AspNetCore.StaticFiles;

string extension = Path.GetExtension(filename);
string mimeType = MimeTypeMap.GetMimeType(extension);
  1. Reading and writing files in C#: Basic file read and write operations in C#.

    string filePath = "example.txt";
    
    // Reading from a file
    string content = File.ReadAllText(filePath);
    Console.WriteLine("File Content: " + content);
    
    // Writing to a file
    string newText = "New content";
    File.WriteAllText(filePath, newText);
    
  2. File I/O operations in C#: Common file I/O operations in C#.

    string sourcePath = "source.txt";
    string destinationPath = "destination.txt";
    
    // Copying a file
    File.Copy(sourcePath, destinationPath, true);
    
    // Moving a file
    File.Move(sourcePath, destinationPath);
    
  3. Checking file existence in C#: Verifying the existence of a file in C#.

    string filePath = "example.txt";
    
    // Checking file existence
    if (File.Exists(filePath))
    {
        Console.WriteLine("File exists.");
    }
    
  4. Creating and deleting files in C#: Creating and deleting files in C#.

    string newFilePath = "newfile.txt";
    
    // Creating a new file
    File.WriteAllText(newFilePath, "Hello, New File!");
    
    // Deleting a file
    File.Delete(newFilePath);
    
  5. Working with file paths in C#: Manipulating and working with file paths in C#.

    string fileName = "example.txt";
    string directoryPath = @"C:\ExampleDirectory\";
    
    // Combine directory and file to get full path
    string fullPath = Path.Combine(directoryPath, fileName);
    
  6. Appending text to a file in C#: Appending text to an existing file in C#.

    string filePath = "example.txt";
    string newText = "Appended Text";
    
    // Appending text to a file
    File.AppendAllText(filePath, newText);
    
  7. Reading and writing binary files in C#: Handling binary file read and write operations in C#.

    string binaryFilePath = "binaryfile.dat";
    byte[] dataToWrite = { 0x41, 0x42, 0x43 };
    
    // Writing binary data to a file
    File.WriteAllBytes(binaryFilePath, dataToWrite);
    
    // Reading binary data from a file
    byte[] readData = File.ReadAllBytes(binaryFilePath);
    
  8. Searching for files in a directory with C#: Searching for files in a directory based on specific criteria in C#.

    string searchDirectory = @"C:\ExampleDirectory\";
    string searchPattern = "*.txt";
    
    // Searching for files in a directory
    string[] matchingFiles = Directory.GetFiles(searchDirectory, searchPattern);
    
  9. File permissions and security in C#: Managing file permissions and security in C#.

    string filePath = "securefile.txt";
    
    // Granting read and write permissions
    FileSecurity fileSecurity = new FileSecurity(filePath, AccessControlSections.Access | AccessControlSections.Owner);
    fileSecurity.AddAccessRule(new FileSystemAccessRule("User", FileSystemRights.Read | FileSystemRights.Write, AccessControlType.Allow));
    File.SetAccessControl(filePath, fileSecurity);
    
  10. Compressing and decompressing files in C#: Compressing and decompressing files in C#.

    string sourceFilePath = "file.txt";
    string compressedFilePath = "compressed.gz";
    
    // Compressing a file
    using (FileStream sourceStream = new FileStream(sourceFilePath, FileMode.Open))
    using (FileStream compressedStream = File.Create(compressedFilePath))
    using (GZipStream compressionStream = new GZipStream(compressedStream, CompressionMode.Compress))
    {
        sourceStream.CopyTo(compressionStream);
    }
    
    // Decompressing a file
    string decompressedFilePath = "decompressed.txt";
    using (FileStream compressedStream = new FileStream(compressedFilePath, FileMode.Open))
    using (FileStream decompressedStream = File.Create(decompressedFilePath))
    using (GZipStream decompressionStream = new GZipStream(compressedStream, CompressionMode.Decompress))
    {
        decompressionStream.CopyTo(decompressedStream);
    }
    
  11. Using FileStream and StreamReader in C#: Utilizing FileStream and StreamReader for efficient file reading in C#.

    string filePath = "example.txt";
    
    // Using FileStream and StreamReader
    using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
    using (StreamReader reader = new StreamReader(fileStream))
    {
        string content = reader.ReadToEnd();
        Console.WriteLine("File Content: " + content);
    }
    
  12. Asynchronous file operations in C#: Performing asynchronous file operations in C#.

    string filePath = "example.txt";
    
    // Reading file asynchronously
    string content = await File.ReadAllTextAsync(filePath);
    Console.WriteLine("File Content: " + content);
    
  13. File encryption and decryption in C#: Implementing file encryption and decryption in C#.

    string filePath = "securefile.txt";
    string encryptedFilePath = "encryptedfile.dat";
    string decryptedFilePath = "decryptedfile.txt";
    
    // Encrypting a file
    EncryptionHelper.EncryptFile(filePath, encryptedFilePath, "EncryptionKey");
    
    // Decrypting a file
    EncryptionHelper.DecryptFile(encryptedFilePath, decryptedFilePath, "EncryptionKey");