The following program reads data (details of students) from
a file named students.txt and
converts it into e-mail addresses. The results are written
to a file named studentemail.txt.
students.txt consists of a number of lines, each containing
the data of a student in colon
delimited format:
Last Name:First Name:Student Number
Each input record is converted to an e-mail address and
written to studentemail.txt in the
following format:
the first character of the last name + the first character
of the first name + the last four digits of
the student number + “@myunisa.ac.za”
import java.io.*;
public class EmailConverter {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new FileReader
("students.txt"));
PrintWriter output = new PrintWriter(new FileWriter
("studentemail.txt"));
String line = input.readLine();
while (line != null) {
// Extract the information for each student
String[] items = line.split(":");
// Generate the email address
String email = "" + items[0].charAt(0) + items[1].charAt(0)
+
items[2].substring(4,8) + "@myunisa.ac.za";
email = email.toLowerCase();
// Output
output.println(email);
line = input.readLine();
}
input.close();
output.close();
}
}
Rewrite the class so that it handles possible errors that
may occur. In particular, it should do the
following:
• It should catch at least three appropriate exceptions
that might occur, and display suitable
messages.
• At this stage, the program will not run correctly if
there is an empty line in the input file.
Change the program so that if an empty line is encountered,
an exception is thrown and the
empty line is ignored. This exception should be handled
with the display of a suitable error
message.
• Before the e-mail address is added to the output file,
check if the student number has 8
digits. If not, throw an InvalidFormatException (which the
program should not handle itself)


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More Core Java Interview Questions

Differentiate between == and equals().

0 Answers  


What is a generic type?

0 Answers  


What are internal and external variables?

0 Answers  


What are the problems faced by java programmers who don't use layout managers?

0 Answers  


What is operator?

3 Answers  






What is boolean strategy?

0 Answers  


Is upper case in java?

0 Answers  


How do generics work?

0 Answers  


Why is sizeof not a function?

0 Answers  


What is the difference between stream and buffer?

0 Answers  


Can you sort a string in java?

0 Answers  


How does JAVA ClassLoader work?

1 Answers   IBM,


Categories