Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Writing text files
📖 Scenario: You are creating a simple program to save a list of favorite fruits to a text file on your computer. This is useful when you want to keep a record of items that you can open later.
🎯 Goal: Build a C# program that writes a list of fruit names into a text file called fruits.txt.
📋 What You'll Learn
Create a list of fruit names
Set the file path to fruits.txt
Write the fruit names to the file, each on a new line
Print a confirmation message after writing
💡 Why This Matters
🌍 Real World
Saving lists or logs to text files is common in many applications, like saving user preferences, logs, or simple data records.
💼 Career
Knowing how to write files is important for software developers, especially when working with data storage, configuration files, or generating reports.
Progress0 / 4 steps
1
Create a list of fruits
Create a List<string> called fruits with these exact entries: "Apple", "Banana", "Cherry", "Date", "Elderberry".
C Sharp (C#)
Hint
Use new List<string> { } to create the list with the fruit names inside curly braces.
2
Set the file path
Create a string variable called filePath and set it to the exact value "fruits.txt".
C Sharp (C#)
Hint
Use string filePath = "fruits.txt"; to set the file path.
3
Write the fruits to the file
Use System.IO.File.WriteAllLines with filePath and fruits to write all fruit names to the file.
C Sharp (C#)
Hint
Use File.WriteAllLines(filePath, fruits); to write the list to the file.
4
Print confirmation message
Write a Console.WriteLine statement to print exactly "Fruits have been saved to fruits.txt".
C Sharp (C#)
Hint
Use Console.WriteLine("Fruits have been saved to fruits.txt"); to show the message.
Practice
(1/5)
1. What does the File.WriteAllText method do in C#?
easy
A. It creates a new text file or overwrites an existing one with the specified content.
B. It reads all text from a file and returns it as a string.
C. It appends text to the end of an existing file without overwriting.
D. It deletes a specified text file from the disk.
Solution
Step 1: Understand the purpose of File.WriteAllText
This method is designed to write text to a file, creating it if it doesn't exist or overwriting it if it does.
Step 2: Compare with other file methods
Reading text uses File.ReadAllText, appending uses File.AppendAllText, and deleting uses File.Delete, so these are different methods.
Final Answer:
It creates a new text file or overwrites an existing one with the specified content. -> Option A
Quick Check:
File.WriteAllText writes or overwrites text [OK]
Hint: WriteAllText creates or overwrites files with given text [OK]
Common Mistakes:
Confusing WriteAllText with ReadAllText
Thinking it appends instead of overwriting
Assuming it deletes files
2. Which of the following is the correct syntax to write "Hello World" to a file named "greeting.txt" using File.WriteAllText?
easy
A. File.WriteText("greeting.txt", "Hello World");
B. File.WriteAllText("Hello World", "greeting.txt");
C. WriteAllText.File("greeting.txt", "Hello World");
D. File.WriteAllText("greeting.txt", "Hello World");
Solution
Step 1: Check method name and parameters
The correct method is File.WriteAllText with the first parameter as the file path and the second as the text content.
Step 2: Validate syntax correctness
File.WriteAllText("greeting.txt", "Hello World"); matches the correct method name and parameter order. Options A, B, and D have incorrect method names or parameter order.
Final Answer:
File.WriteAllText("greeting.txt", "Hello World"); -> Option D
Quick Check:
Correct method and parameter order = File.WriteAllText("greeting.txt", "Hello World"); [OK]
Hint: Method name is File.WriteAllText(path, content) [OK]
Common Mistakes:
Swapping parameters order
Using incorrect method names like WriteText
Calling method on WriteAllText instead of File
3. What will be the content of the file "notes.txt" after running this code?
The first call writes "Line 1\nLine 2" to "notes.txt", creating or overwriting the file.
Step 2: Analyze second File.WriteAllText call
The second call overwrites the entire file content with "New Line", replacing previous text.
Final Answer:
New Line -> Option A
Quick Check:
Second WriteAllText overwrites file content [OK]
Hint: WriteAllText overwrites file, last call wins [OK]
Common Mistakes:
Assuming text appends instead of overwriting
Thinking both texts combine in file
Ignoring the second WriteAllText call
4. Identify the error in this code snippet that tries to write "Data" to "output.txt":
File.WriteAllText(output.txt, "Data");
medium
A. File.WriteAllText cannot write strings
B. Missing quotes around the file name output.txt
C. The method name should be WriteTextAll
D. The file path must be an absolute path
Solution
Step 1: Check the file path parameter
The file path must be a string, so it needs quotes around it. Here, output.txt is unquoted, causing a syntax error.
Step 2: Verify method name and parameter type
The method name is correct, and it accepts strings. Absolute path is not mandatory; relative paths work fine.
Final Answer:
Missing quotes around the file name output.txt -> Option B
Quick Check:
File path must be a string literal [OK]
Hint: File path must be in quotes as a string [OK]
Common Mistakes:
Forgetting quotes around file path
Mixing method name order
Thinking absolute path is required
5. You want to write multiple lines from a string array lines to a file named "log.txt" so that each element appears on its own line. Which code snippet correctly does this using File.WriteAllText?
hard
A. File.WriteAllText("log.txt", lines);
B. File.WriteAllText("log.txt", lines.ToString());
C. File.WriteAllText("log.txt", string.Join("\n", lines));
D. File.WriteAllText("log.txt", string.Concat(lines));
Solution
Step 1: Understand the input and desired output
We have a string array lines and want each element on its own line in the file.
Step 2: Check how to convert array to single string with line breaks
Using string.Join("\n", lines) joins array elements with newline characters, creating the correct multiline string.
Step 3: Validate other options
lines.ToString() returns type name, not content; passing array directly is invalid; string.Concat joins without separators.
Final Answer:
File.WriteAllText("log.txt", string.Join("\n", lines)); -> Option C
Quick Check:
Join array with \n for multiline text [OK]
Hint: Join array with \n before writing text file [OK]