File Handling Exercise
Problem 1: Write a program to take input using BufferedReader.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderExample {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter your name: ");
String name = br.readLine();
System.out.println("Enter your age: ");
int age= Integer.parseInt(br.readLine());
System.out.println("Name : "+name+"\nAge : "+age);
}
}
Problem 2: Write a program to take input from a file.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
String fileName = "C:\example.txt";
try {
FileReader reader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
reader.close();
} catch (IOException e) {
System.out.println("An error occurred while reading from the file " + fileName);
e.printStackTrace();
}
}
}
Problem 3: Write a program to write into file
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class WriteToFile {
public static void main(String[] args) {
String fileName = "C:\\example.txt";
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String textToWrite = reader.readLine();
FileWriter writer = new FileWriter(fileName);
writer.write(textToWrite);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Problem 4: Write a program to copy contents from one file to another
import java.io.*;
public class CopyContentsToFile {
public static void main(String[]args){
String fName1 = "C:\\example.txt";
String fName2 = "C:\\copy.txt";
try{
FileReader fr = new FileReader(fName1);
BufferedReader br = new BufferedReader(fr);
String line;
while((line = br.readLine()) != null){
FileWriter fw = new FileWriter(fName2,true);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.write(line);
bw.close();
fw.close();
}
br.close();
fr.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
Problem 5: Write a program to append a line into a file
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class Append {
public static void main(String[] args) {
String fileName = "C:\\example.txt";
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String textToWrite = reader.readLine();
FileWriter writer = new FileWriter(fileName,true);
BufferedWriter bw = new BufferedWriter(writer);
bw.newLine();
bw.write(textToWrite);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Problem 6: Write a program to take input from two file and write to another
import java.io.*;
public class mergeFile {
public static void main(String[]args) throws IOException{
String mergeSrc1 = "C:\\mergeSrc1.txt";
String mergeSrc2 = "C:\\mergeSrc2.txt";
String mergeDst = "C:\\mergeDst.txt";
System.out.println("Write to source file 1:");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String line1 = br1.readLine();
FileWriter fw1 = new FileWriter(mergeSrc1);
BufferedWriter bw1 = new BufferedWriter(fw1);
bw1.write(line1);
bw1.close();
System.out.println("Write to source file 2:");
BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
String line2 = br2.readLine();
FileWriter fw2 = new FileWriter(mergeSrc2);
BufferedWriter bw2 = new BufferedWriter(fw2);
bw2.write(line2);
bw2.close();
System.out.println("Reading from source file 1 and write to dest:");
FileReader fr1 = new FileReader(mergeSrc1);
BufferedReader brF1 = new BufferedReader(fr1);
String lineF1 = brF1.readLine();
FileWriter fwF1 = new FileWriter(mergeDst,true);
BufferedWriter bwF1 = new BufferedWriter(fwF1);
bwF1.newLine();
bwF1.write(lineF1);
bwF1.close();
System.out.println("Reading from source file 2 and write to dest:");
FileReader fr2 = new FileReader(mergeSrc2);
BufferedReader brF2 = new BufferedReader(fr2);
String lineF2 = brF2.readLine();
FileWriter fwF2 = new FileWriter(mergeDst,true);
BufferedWriter bwF2 = new BufferedWriter(fwF2);
bwF2.newLine();
bwF2.write(lineF2);
bwF2.close();
}
}
Problem 7: Write a program to read and write from the same file
Try to solve this according to problem 4. The only difference is just one file would be used in this
problem.