Aus Datei lesen und schreiben

Status
Nicht offen für weitere Antworten.

Felix

Bekanntes Mitglied
Hallo,

ich habe neulich ein Appelt programmieren wollen, das eine Datei liest bearbeitet und anschließend wieder schreibt. Leider gab es immer eine Security-Exception. Warum ging das bei mir nicht? Normaler weiße kann man doch mit Applet aus Dateien lesen und Dateien schreiben. Liegt es daran, dass ich mit FileReader -> BufferedReader und FileWriter -> PrintWriter gearbeitet habe?

Gruß
der Felix
 
Felix hat gesagt.:
was soll das heißen???

Applets haben einen sog. Sandkasten.

Das heißt, sie können im Sandkasten, deiner Website also, spielen und draußen, also zu beispiel auf deiner Festplatte, nicht. Das Verhindert, dass ein Applet Viren auf deinen Rechner schleußt. Das Applet kann nicht:

  • Auf lokal gespeicherte Dateien zugreifen
    Auf andere Server als den, von dem es kommt, zugreifen (Dateien öffnen, datenbanken auslesen usw.)

Das Applet kann:


  • Auf den eigenen Server zugreifen(Datenbanken, dateien)
    bunte bilder, Musik und Knöpfe darstellen :wink:

Vermutlich hab ich ganz viel vergessen...in beiden Listen
 
der eigene server ist doch das Verzeichnis, in dem das Applet liegt, oder?
Warum kann ich dann nicht auf das zugreifen?

Gruß
der Felix
 
Felix hat gesagt.:
der eigene server ist doch das Verzeichnis, in dem das Applet liegt, oder?
Warum kann ich dann nicht auf das zugreifen?

Gruß
der Felix

Jep, so sollte es sein.

Eventuell liegt es daran, dass im Testfall lokal (kein Zugriff) und der eigene Server (Zugriff) identisch sind, wo die entscheidung für kein Zugriff sinnvoll ist...
 
naja, jetzt weiß ich zumindest schon mal, dass es eigentlich funktionieren sollte...
Ist ja schon mal was 😉

Gruß
der Felix
 
Du liest dir mit php(weils auf Dateien zugreifen darf) deine Datei ein und gibts die per Parameter an das Applet weiter.
Was willst du mehr? 😉
 
Hm, ich müsste php können 😉 ...
Oder gibts da ein standart Schema, das ich anwenden kann?

Gruß
der Felix
 
Damit dein Applet auf die Platte schreiben/lesen kann musst du es signieren.
Such' einfach mal mit google nach Applet signierung.

Probier mal die Site aus:

http://personal.vsnl.com/sureshms/javasign1.html

es ist eine ziemlich gute site, mit ihr hab ich es geschafft meine eigenen applets zu signieren!

Falls du willst, dass dein Applet auf Dateien auf (d)einem Server zugreift, würd ich Servlets oder Beans (müssen auf dem Zielserver sein! sonst SecurityException) verwenden!
 
Aber müsste Java nicht schon vom Server her unterstützt werden um servlets benutzten zu können? Ich glaube die einfachste Methode ist das applet zu signieren. Aber das mit PHP geht auch.
 
hmm, ja ich habe bis jetzt eigentlich nur schlechte Erfahrungen mit signierten Applets von mir gemacht, weil das alles nicht funktioniert hat. Deshalb habe ich nach einer anderen Möglichkeit gesucht. Aber danke für den Link, ich werde es mir mal durchlesen und dann noch mal probieren...
Irgendwie muss es ja funktionieren!

Danke
der Felix
 
Nur, dass ich das richtig verstanden habe ...

Ich kann bei mir daheim ohne einen Server nicht testen ob mein Applet funktioniert!?
 
du kannst natüürlich applets lokal testen. allerdings hast du dann immer die vollen rechte.
Wenn du nun ein applet hast, welches auf einem server läuft, hat das eingeschränkte rechte, es sei denn es ist signiert (der Benutzer will das).
 
Warum kann ich dann bei mir lokal nicht aus einer Datei lesen,

Code:
BufferedReader br = new BufferedReader(new FileReader("random.txt"));
String gelesen = br.readLine();

während es mit einem JFrame funktioniert?
 
Hobbit_Im_Blutrausch hat gesagt.:
Warum kann ich dann bei mir lokal nicht aus einer Datei lesen,

Code:
BufferedReader br = new BufferedReader(new FileReader("random.txt"));
String gelesen = br.readLine();

während es mit einem JFrame funktioniert?

Was zeigt er denn für eine Meldung an???
 
Gar keine, dass ist es ja, mir scheint es fast so, als würde der Code gar nicht aufgerufen ...

*idee* ... *ausprobier*

[edit] schad, hat nicht funktioniert. Ein Applet hat das selbe Gerüst wie ein Frame, nur dass die public class nicht von JFrame sondern von JApplet erbt oder?
 
ja, und dass du eine start(), eine stop() und eine destroy() -Methode hast!

start für immer wenn das Applet aufgerufen oder neu gestartet wird...
stop für immer wenn das Applet vorübergehen oder ganz gestoppt wird...
destroy für immer wenn das Applet aus dem Speicher entfernt wird...

Kann es sein, dass es daran liegt?

Gruß
der Felix
 
moha fääd!
Kannst du dir mir bitte mal posten, vielleicht ist sie auch für mich nützlich!
*fleh 😉 *

Gruß
der Felix
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben