Applet Write Files Example

In this section, you will learn how to write to a file
from an applet. This is very simple but the security manager don't provide the
permission for writing a file from an applet. For this, you will have to
maintain a Java security policy file that will allow the granted permission for
writing a file from an applet. Without maintaining the Java security policy
file, the security manager naturally installed during startup whenever an applet
is started in the Java based web browser. By default the file writing permission
is not allowed. All the permissions are allowed or disallowed in the policy file
after that you write it or not.
Description of program:
The following program or code helps you in writing the content
in a file from an applet. First of all this program creates a class (WriteFile)
to extends the Applet class. After that, this program constructs a GUI
layout that contains text field, text area and a command button. The text field
has the name of file that have to be written and the text area provides a area
for writing the user text that have to write in the given file. The common
button performs your action ( for writing ). When you will run it (use the appletviewer
-J-Djava.security.policy=po.policy WriteFileApplet.html), the GUI appears
on the screen that takes the file name and text (content) on the specified
locations. Without giving it, a message will appear on the screen in the message
box (Please enter file name!). If the file name is entered without
any text, even though it will display a message in the message box (Please
enter your text!). You have entered both and click the "WriteToFile"
command button, the file name is checked out. Whenever the file isn't
exists, it will display a message in the message box (File not found!)
and if the given file exists, the given text are written into the file and it
will show a message in the message box (Text is written in vk.shtml)
otherwise not and shows a message in the message box (Text isn't
written in vk.shtml). You will try it.
Here is the code of program (WriteFile.java):
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.Applet;
import java.net.*;
public class WriteFile extends Applet{
Button write = new Button("WriteToFile");
Label label1 = new Label("Enter the file name:");
TextField text = new TextField(20);
Label label2 = new Label("Write your text:");
TextArea area = new TextArea(10,20);
public void init(){
add(label1);
label1.setBackground(Color.lightGray);
add(text);
add(label2);
label2.setBackground(Color.lightGray);
add(area);
add(write,BorderLayout.CENTER);
write.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
new WriteText();
}
});
}
public class WriteText {
WriteText(){
try {
String str = text.getText();
if(str.equals("")){
JOptionPane.showMessageDialog(null,"Please enter the file name!");
text.requestFocus();
}
else{
File f = new File(str);
if(f.exists()){
BufferedWriter out = new BufferedWriter(new FileWriter(f,true));
if(area.getText().equals("")){
JOptionPane.showMessageDialog(null,"Please enter your text!");
area.requestFocus();
}
else{
out.write(area.getText());
if(f.canWrite()){
JOptionPane.showMessageDialog(null,"Text is written in "+str);
text.setText("");
area.setText("");
text.requestFocus();
}
else{
JOptionPane.showMessageDialog(null,"Text isn't written in "+str);
}
out.close();
}
}
else{
JOptionPane.showMessageDialog(null,"File not found!");
text.setText("");
text.requestFocus();
}
}
}
catch(Exception x){
x.printStackTrace();
}
}
}
}
|
Download this code.
For running an applet you have to need an HTML file
that uses the applet class to run this in the Java based web browser.
Here is the HTML code (WriteFile.html):
<HTML>
<HEAD>
<TITLE> Write file example </TITLE>
<applet code="WriteFile.class",
width="200",height="300">
</applet>
</HEAD>
</HTML> |
This is the policy file that allowed the permissions to
the user for writing or reading the file from an applet.
Here is the code of policy file (WriteFile.policy):
grant {
permission java.io.FilePermission "<<ALL FILES>>","write";
}; |
Output of program:
Compile and run:
C:\vinod\applet>javac WriteFile.java
C:\vinod\applet>appletviewer -J-Djava.security.policy=WriteFile.policy WriteFile.html |
appletviewer:
This is the command that allows you for running the applets outside of a web
browser.
-Jjavaoption:
The javaoption is a single argument string to the Java interpreter that runs
the appletviewer. This argument hasn't spaces, if the argument contains the
multiple words must be begin with '-J' prefix that is stripped and useful
for adjusting the execution of compiler environment or memory usage.
If file name is blank:
If Text area is blank:
Both are written:
Message Box:
Get the written file:
vk.shtml

|