C# Path.GetRandomFileName MethodUse the Path.GetRandomFileName method from System.IO to get path names.
Path.GetRandomFileName. This C# method from System.IO generates random file names. We can use these to store data in a secret (or unique) way.
Random filename benefits. The filename does not conflict with other files. It will not be corrupted by other programs. We can write the file and expect it to be left alone.
First, there are many ways to generate random strings. You could develop a method that populates a char array using the Random class, and then returns a string based on those numbers.
However We can access the Path.GetRandomFileName static method, which returns appropriate strings.
WriteRandomFile This method gets a random file name, gets the correct output path on the C:\ volume, and then writes some text to it.
Returns The Path.GetRandomFileName method returns a random file name with an extension. This includes the period before the extension.
Tip The extension will be 1 dot and 3 letters, while the name will be 8 characters. All the characters are valid file name characters.
using System; using System.IO; class Program { static void Main() { // // Write three random files. // WriteRandomFile(); WriteRandomFile(); WriteRandomFile(); } static void WriteRandomFile() { // // Get random file name. // string fileName = Path.GetRandomFileName(); // // Construct full path. // string outputPath = Path.Combine("C:\\", fileName); // // Write to screen and disk. // Console.WriteLine(fileName); File.WriteAllText(outputPath, "Random"); } }
m4adstid.dw2 mbhbtcen.5m1 1qtk3r5u.bka
Implementation. Internally, the Path.GetRandomFileName method gets random bytes from the cryptographic-quality random number generator RNGCryptoServiceProvider.
Next The method uses bitwise ANDs to fill a StringBuilder with characters based on those bytes.
Summary. We generated random file names to store certain kinds of data. By using Path.GetRandomFileName, you can write to files that have cryptographically-secure random names.
© 2007-2022 sam allen.
see site info on the changelog.