Home >Backend Development >C#.Net Tutorial >C# program to create string from file contents
Let's see how to create a C# program to create a string from the contents of a file. Strings are an integral part of file processing. A string in C# is a sequence of letters. For example, "TutorialsPoint" is a value containing 't' 'u' 't' 'o' 'r' 'i' 'a' 'l' 's' 'p' 'o' 'i' 'n' 't String ' as character. We use the string keyword to create a string.
In layman's terms, file processing or file management are various processes such as creating files, reading files, writing files, appending files, etc. Viewing and writing files are two of the most common operations in file management. The System.IO category in C# includes classes that handle input and output streams.
String creation is a key part of file processing. Here, the complete text is read and transferred to a string. There are two ways to create a string from the contents of a file. In the next sections we will see two ways to read the contents of a file and transfer it into a string.
This is the first method to read the entire contents of the file as a string. Here, the File.ReadAllText() method is used. File.ReadAllText() reads all the contents from the file and transfers the contents into a string. The file's encoding is determined automatically by File.ReadAllText(). The file's encoding is determined by its overloaded version. Well, defining encoding, it is a numbering system that allows giving a numerical value to each written character in a character set. Characters from letters, numbers, and other symbols can be found in character sets.
When executing a command to open a file, an IOException will be thrown if the source file is not found or any other type of I/O error occurs. This can happen if there are any problems with the input and output of the file.
The algorithm below will give the step-by-step process of creating a string from the file content using the File.ReadAllText() method.
For example, if we have to read everything from a file and then transfer the contents to a string, then we should provide its precise algorithm as follows -
Step 1 − Create an instance of fileName to read from the file and provide it with an address.
Step 2 − Use File.ReadAllText to read and display the text lines in the file and store them in text.
Step 3 − By using catch, we try to catch the error when any error occurs.
Step 4 −If there are any errors, store them in e and then display them.
Step 5 −By using Console.Readkey(), we stop the execution of the program at the end.
The following is a code snippet showing the example.
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; try { // Display the lines that are read from the file string text = File.ReadAllText(fileName); Console.WriteLine(text); } catch (Exception e) { // Displays the error on the screen. Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } Console.ReadKey(); } }
Input is completed
Here, the path is first given to a string, then the string is passed and opened from that address. Then copy the entire content into the created string. If the file cannot be opened, an error occurs and confusing messages appear on the screen. There is another way to do this using the SteamReader class. Let us do the same.
An alternative solution to File.ReadAllText() is SteamReader.ReadToEnd(). This also reads the entire file in one go and copies the contents into a string. Steam.Reader uses the File.OpenText method to do this. Then the ReadToEnd() method reads the complete file mentioned by the user in one go. Once the SteamReader object's work is complete, the Dispose() method is automatically called like Destructor() and the stream is flushed/cleared.
The algorithm below will provide a step-by-step process for creating a string from file contents using the SteamReader.ReadToEnd() method.
For example, if we have to read everything from a file and then transfer the contents to a string, then we should provide its precise algorithm as follows -
Step 1 − Create an instance of fileName to read from the file and provide it with an address.
Step 2− Create an instance of StreamReader to read content from the file.
第 3 步 − 使用 SteamReader.ReadToEnd() 从文件中读取文本行并将其存储在变量文本中。
第 4 步 − 现在我们使用 Console.Writeline() 写入文本数据。
第 5 步 −通过使用 Console.Readkey(),我们在最后停止了程序的执行。
现在,让我们看看代码。
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = File.OpenText(fileName)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
当我们使用 File.OpenText() 时,它默认打开一个现有的 UTF-8 编码文件。要访问具有不同字符编码的文件,需要使用接受替代字符编码的 StreamReader 类构造函数。
The given example creates a new ASCII StreamReader from a file with byte order mark recognition set to true.
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = new StreamReader(fileName, Encoding.ASCII, true)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
在这两个代码中,如果我们看到没有循环,因为我们只是创建一个实例来读取文件。然后将文件的所有内容复制到字符串中。对于 File.ReadAllText() 方法,时间复杂度为 O(1)。类似地,在 SteamReader.ReadToEnd() 方法中,时间复杂度为 O(1)。
在本文中,我们广泛讨论了从文件内容创建字符串的 C# 程序。首先,我们讨论了字符串,然后讨论了将文件的完整内容读取到字符串中的不同类型的方法。我们希望本文能够帮助您增强有关 C# 的知识。
The above is the detailed content of C# program to create string from file contents. For more information, please follow other related articles on the PHP Chinese website!