Interview question
What are FileReader and FileWriter? How do you use them for text files? FileReader और FileWriter क्या हैं? Text files के लिए कैसे use करते हैं?
Answer
FileReader reads character data from files, while FileWriter writes character data to files. They are character-based streams ideal for text file processing.
import java.io.*;
public class FileReaderWriterDemo {
public static void main(String[] args) {
// Writing text to file using FileWriter
try (FileWriter writer = new FileWriter('output.txt')) {
writer.write('Line 1: Hello World\n');
writer.write('Line 2: Java File I/O\n');
writer.write('Line 3: File Processing\n');
System.out.println('File written successfully');
} catch (IOException e) {
e.printStackTrace();
}
// Reading text from file using FileReader
try (FileReader reader = new FileReader('output.txt')) {
int character;
StringBuilder content = new StringBuilder();
while ((character = reader.read()) != -1) {
content.append((char) character);
}
System.out.println('File content:\n' + content.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
// Best Practice: Use try-with-resources
// Automatically closes file, even if exception occurs
try (FileWriter fw = new FileWriter('file.txt')) {
fw.write('Content');
} catch (IOException e) {
e.printStackTrace();
}
// Note: FileReader/FileWriter work with default charset
// For specific charset, use InputStreamReader/OutputStreamWriterFileReader & FileWriter:
FileWriter (Writing):
try (FileWriter fw = new FileWriter('file.txt')) {
fw.write('Text content');
}
FileReader (Reading):
try (FileReader fr = new FileReader('file.txt')) {
int ch;
while ((ch = fr.read()) != -1) {
System.out.print((char)ch);
}
}
Benefits:
- Character-based (suitable for text)
- Simple to use
- Automatic close with try-with-resourcesWas this answer clear?