Introduction
In the section, you will learn how to
write data to a file. As we have discussed, the FileOutputStream class is used
to write data to a file.
Lets see an example that writes the data to a
file converting into the bytes.
This program first check the existence of the specified file. If the file
exist, the data is written to the file through the object
of the
FileOutputStream class.
import java.io.*;
public class WriteFile{
public static void main(String[] args) throws IOException{
File f=new File("textfile1.txt");
FileOutputStream fop=new FileOutputStream(f);
if(f.exists()){
String str="This data is written through the program";
fop.write(str.getBytes());
fop.flush();
fop.close();
System.out.println("The data has been written");
}
else
System.out.println("This file is not
exist");
}
}
|
Output of the Program
C:\nisha>javac WriteFile.java
C:\nisha>java WriteFile
The data has been written
C:\nisha> |
Download this Program
The another way for writing data to a file, the class FileWriter and BufferedWriter
are used.
FileWriter :
FileWriter
is a subclass of OutputStreamWriter class that is used to write
text (as opposed to binary data) to a file. You create a FileWriter
by specifying the file to be written to, or optionally, when the data
should be appended to the end of an existing file instead of overwriting
that file. The FileWriter class creates an
internal FileOutputStream to write bytes
to the specified file
BufferedWriter :
The BufferedWriter class is used to write text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters,
arrays and strings.
The constructor of the FileWriter
class
takes the file name which has to be buffered by the
BufferedWriter stream. The write( ) method of BufferedWriter class is
used to create the file into specified directory.
Following code write data into new file:
out.write(read_the_Buffered_file_name);
Following code creates the object of FileWriter
and BufferedWriter:
FileWriter fstream = new FileWriter(file_name);
BufferedWriter out = new BufferedWriter(fstream);
|
Lets see an another example that writes the text input
by the user using the FileWriter and the BufferedWriter
class.
import java.io.*;
public class FileWriter{
public static void main(String[] args) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please enter the file name to create : ");
String file_name = in.readLine();
File file = new File(file_name);
boolean exist = file.createNewFile();
if (!exist)
{
System.out.println("File already exists.");
System.exit(0);
}
else
{
FileWriter fstream = new FileWriter(file_name);
BufferedWriter out = new BufferedWriter(fstream);
out.write(in.readLine());
out.close();
System.out.println("File created successfully.");
}
}
}
|
Output of the Program
C:\nisha>javac CreateFile.java
C:\nisha>java CreateFile
Please enter the file name to create : nishu.txt
this is my name
File created successfully.
C:\nisha>
|
Download the code

Current Comments
4 comments so far (post your own) View All Comments Latest 10 Comments:what is the use of using "getbytes()"while writing to a file?
Posted by ankitamishra on Monday, 05.12.08 @ 11:39am | #59429
I'm new to html and java programing and I've been trying off and on for 3 days now trying to figure out how to read and write data to a file using html or java. Could you PLEASE send me a html page example with or without java that will read/write data to a file?
Posted by reid on Saturday, 03.8.08 @ 12:30pm | #51906
Try this
if(in.ready()) {
message = in.readLine();
}
Posted by EFG on Thursday, 02.28.08 @ 21:21pm | #50603
Hi,
I want to know how to append data to an already existing file using BufferedReader.
I did it but null value is appending.
Can anyone tell me the solution.
Thanks & Regards,
Keerthi Bodepudi.
Posted by keerthi on Monday, 02.25.08 @ 09:23am | #49917