Roger: Datei auslesen und lokal in andere Datei schreiben

Beitrag lesen

Hallo Leute

Ich habe ein grosses Problem. Ich habe gestern ein Java Applet heruntergeladen, welches in der Lage ist ein File im selben Ordner einzulesen und Sie dann auszugeben.
Das Problem beim ganzen Applet ist aber, dass das File jeweils den Namen der URL trägt.
Ich möchte die Daten/das File aber irgendwo z.B. C:/blabla/bla/bla.xml speichern.
Ist so etwas den nicht möglich?

Der Code sieht folgendermassen aus:

In der .htm Datei:

<HTML>
 <HEAD>
<title>Lösung mit Applet</title>
<link rel=stylesheet type="text/css" href="../src/wselfhtm.css">
<SCRIPT type="text/javascript" language="JavaScript">
<!--
var source = "";
function read(file)
{

document.fileopener.setFile(window.location.href, file);       //window.location.href,file
 source = document.fileopener.getFile();
 document.write (source);
}
//-->
</SCRIPT>
 </HEAD>
 <body bgcolor="#FFFFFF" text="#000000" link="#AA5522" vlink="#772200" alink="#000000">
 <h2 class="Sh2"><a class="an" name="a1">Lösung mit Applet</a></h2>
 <p><img src="../src/xshow.gif" width=33 height=14 border=0 alt="Beschreibung"><br>
 <a href="artikel.htm#a5"><b>Beschreibung: so wird's gemacht</b></a></p>
<P>
 Geben Sie eine Datei im selben Verzeichnis ein (z.B: test.txt) und clicken Sie auf "read".
</P>
  <FORM>
   <INPUT type="file" name="filename">
   <BR>
   <A href="javascript:read(document.forms[0].filename.value)">read </A>
<script type="text/javascript">

</script>

</form>
    <APPLET code="JSfileopener.class" width=1 height=1 mayscript name="fileopener">
  </applet>
 </BODY>
</HTML>

Code im Java Applet:

import java.applet.*;
import java.awt.*;
import netscape.javascript.JSObject;
import java.net.URL;
import java.io.*;

public class JSfileopener extends Applet
{
 public String bgcolor;
 public DataInputStream stream;

public String getAppletInfo()
 {
  return "Name: JS Fileloader\n" +
  "Author: Daniel Thoma\n" +
  "E-Mail: dthoma@gmx.net\n" +
  "Tested with: MSIE 4.x/5.x NN 4.x";
 }

public String[][] getParameterInfo()
 {
  String[][] info =
  {
   {"color","color","something like #ff00ab"}
  };
  return info;
 }

public void init()
 {
  bgcolor = getParameter("color");
  if(bgcolor == null)
  {
   bgcolor = ((JSObject)JSObject.getWindow(this).getMember("document")).getMember("bgColor").toString();
  }
 }

public void paint(Graphics g)
 {
  g.setColor(Color.decode(bgcolor));
  Rectangle r = g.getClipBounds();
  g.fillRect(r.x, r.y, r.width, r.height);
 }

public void setBgcolor(String colorvalue)
 {
  bgcolor = colorvalue;
  repaint();
 }

public void setFile(String master, String file) throws IOException
 {
  URL url = new URL(new URL(master), file);
  stream = new DataInputStream(url.openStream());
 }

public void setFile(String file) throws IOException
 {
  URL url = new URL(file);
  stream = new DataInputStream(url.openStream());
 }

public String readFile() throws IOException
 {
  String line    = "";
  if((line = stream.readLine()) != null)
  {
   return line;
  }
  else
  {
   stream.close();
   return null;
  }
 }

public String getFile() throws IOException
 {
  String source    = "";
  String line;
  while((line = readFile()) != null)
  {
   source += line +"\n";
  }
  return source;
 }
}

P.S. Ich habe die Files von dieser Seite heruntergeladen.

Freundliche Grüsse

Roger