File Handling in Java

-- Leave a Comment
Hello here is a simple java program for file Handling. Here first we store the "java Programming" string into a file named "hi.txt" then we read the "hi.txt" and write it to another file "hello.txt" as well as display in the standard output. Then we read from Standard input and insert it into namaste.txt

Here is the code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.io.*;
public class FileHandler {
	public static void main(String args[]) throws IOException{
		System.out.println("Here");

		FileReader reader = null;
		FileWriter writer = null;
		InputStreamReader input = null;

		String message = "Java Programming";
		try {
			writer = new FileWriter("hi.txt");
			int i = 0;
			for(i = 0; i<message.length(); i++) {
				//System.out.println(message.charAt(i));
				int charInt = (int) message.charAt(i);
				writer.write(charInt);
			}
		} catch(Exception e){
			//handle the exception
			e.printStackTrace();
		} finally {
			//Always close reader or writer
			if(writer != null) // prevent another exception
				writer.close();
		}
		try {
			reader = new FileReader("hi.txt");
			writer = new FileWriter("hello.txt");
			int c;
			while((c = reader.read()) != -1) {
				char intChar = (char) c;
				System.out.print(intChar);
				writer.write(c);
			}
			System.out.println();
		} finally {
			if(reader != null)
				reader.close();
			if(writer != null)
				writer.close();
		}
		try {
			input = new InputStreamReader(System.in);
			writer = new FileWriter("namaste.txt");// greeting
			char c;
			System.out.println("Enter q to quite.");
			do {
				c = (char) input.read();
				if (c != 'q') { // won't store q
					writer.write(c);
				}
			} while (c != 'q');
		} finally {
			if(input != null)
				input.close();
			if(writer != null)
				writer.close();
		}
	}
}

We need to declare the variables (6,7,8) outside the try catch block as we need to close them in the finally block if they are used.
We iterate through the String to get each char to write in file (line 14), message.charAt(2) will return the char at index 2 of that String.
(Line 24) we must close the opened file. check it is not null before closing so it won't generate another exception (no file opened to close)
(Line 32) Type casting from int to char.
(Line 49) input.read() waits till users enter a char in the Terminal.

Thank you! Have a good day!

Hello This is Sagar Devkota. Studying Bachelor of Software Engineering at Pokhara University, NCIT. Open Source Enthusiastic.

0 comments:

Post a Comment