Writing files inside an applet

Okay, I'm wanting to create an applet that saves the information from the applee on to the host computer, or the web server that the applet is being posted on.  I know I can't write files or read files to the client but I should be able to read and write to the host computer.  I'm trying to implement something similar to a highscores table that saves information from an applet that lots of people will use, like a voting thing......
GreenKAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

hkpCommented:
I can imagine two ways to write files. One is to use the FTP protocol (this is long hair), and the other is to use the File() class. Here's a sample of the later, although I see trouble ahead from an applet (I assume, the c: drive is the webserver's):

// Create a file, if non-existent.
File f = new File("c:/","test.txt");
if ( f.exists() == false) {
try {
FileWriter fw = new FileWriter(f);
fw.write("123",0,3);
fw.flush();
fw.close();


}
catch (IOException e) {
e.printStackTrace();
};
}
f=null;


I hope this can get you on better ground.
0
gadioCommented:
GreenK, as far as I understand you want to do it from the client to the server, in java. What you should do is open a URL to the server to a location that you can write in, get the URLConnection, get an outputStream and write. The http server must enable the writing operation though.
0
DonReeseCommented:
GreenK, consider opening a connection back to your webserver and post the information to a CGI-BIN that handles all the file work.
0
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

hkpCommented:
I think a good solution would require the use of CGI by means of a Java servlet, which handles the highscore table file updates and representations.

By using a URLConnection, you should be able to send parameters from your applet to the servlet via the URL.

If you don't have experience with Java servlets, this is a longer story. Look at http://java.sun.com/products/index.html and lookup the Servlet Development Kit, install it on the web server machine. Make your first servlet, and use the above code principles for writing to a file on the server.

:-)

0
GreenKAuthor Commented:
Can't use new File because that accesses files on the client machine..and we can't write to that because it's an applet....

So I've created the perl cgi files to do all the file handling...

Now i'm trying to figure out how to pass the information to the perl file..
I've got it setup where a form can alter the data using the get method..

script.cgi?data1+data2+data3

So how do I pass that to perl using java stuff....


0
evijayCommented:
write a proxy server on the host from which the applet is originated.

A proxy server is another java program that listens at a known serversocket. Your applet can connect to the proxy server, send the data to it, and the proxy server inturn writes / reads the files onto the host harddisk.

check for a java telnet applet from site
http://www.first.gmd.de/persons/leo/java/Telnet/ 

This is a very good example of writing a proxy server to overcome the security restrictions of applets.



Vijay
0
GreenKAuthor Commented:
The answer was rejected because your idea would only work if I was trying to write to the host computer and not the webserver computer that is hosting the applet.

This is going to be a game that keeps track of the highscores of everyone that plays....this file that they write to needs to be centrally located on the server.


0
evijayCommented:
write a proxy server on the host from which the applet is originated.
A proxy server is another java program that listens at a known
serversocket. Your applet can connect to the proxy server, send the data
to it, and the proxy server inturn writes / reads the files onto the
host harddisk.
check for a java telnet applet from site
http://www.first.gmd.de/persons/leo/java/Telnet/ 
This is a very good example of writing a proxy server to overcome the
security restrictions of applets.
Vijay
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java EE

From novice to tech pro — start learning today.