txt im abstand von 10 min neu einlesen!
ERA
- java
0 Lemmy Danger0 ErA0 Lemmy Danger0 RinnerA
Hallo!
Kann mir jemand sagen wie ich eine textdatei die beim starten geladen wird alle 10 minuten aktualisieren kann?
Habe keine ahnung von java, habe nur eine *.class datei decompiliert und nehme gerade ein paar änderungen vor.
Das Java applet ist ein newsticker welcher vertikal scrollt.
Der text wird scheinbar mit diesm code eingelesen.....
private void readFile()
{
try
{
URL url = new URL(getDocumentBase(), filename);
try
{
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream()));
String s;
do
{
s = bufferedreader.readLine();
if(s != null)
try
{
StringTokenizer stringtokenizer = new StringTokenizer(s, "|");
news.addElement(stringtokenizer.nextToken());
if(stringtokenizer.hasMoreTokens())
urls.addElement(new URL(getDocumentBase(), stringtokenizer.nextToken()));
else
urls.addElement("nourl");
}
catch(NoSuchElementException _ex) { }
} while(s != null);
}
catch(IOException _ex)
{
news.addElement("Could not open news feed file.");
urls.addElement("nourl");
System.err.println("Could not open news feed file.");
}
}
catch(MalformedURLException _ex) { }
}
Was für eine funktion muss da hinein das das applet alle 10 minut eaktualisiert wird?
ErA
Guude!
Der text wird scheinbar mit diesm code eingelesen.....
Stimmt.
Was für eine funktion muss da hinein das das applet alle 10 minut eaktualisiert wird?
Naja, ganz so trivial ist das nicht, da musst Du schon ein bisschen tiefer in Java einsteigen. Schau Dir mal die Klasse javax.swing.Timer (http://java.sun.com/j2se/1.3/docs/api/javax/swing/Timer.html) und vor allem das Tutorial (http://java.sun.com/docs/books/tutorial/uiswing/misc/timer.html) an.
Im Prinzip musst Du einen Timer initialisieren, der als erstes mal gleich die Datei öffnet, z.B.:
javax.swing.Timer t = new javax.swing.Timer(0, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
readFile();
}
});
Dieser Timer liest nun alle 0 Sekunden die Datei. Was beim ersten Start noch erwünscht ist, soll danach auf 10min gesetzt werden:
t.start();
t.setDelay(60000);
Wo Du nun geschickterweise die Methoden t.start() und t.stop() einbaust überlass ich Dir. Ein Tipp: Die Initialisierung des Timers gehört außerhalb der "Hauptmethode" platziert (praktisch direkt nach "public class ... extends JApplet", oder ähnlich)...
LG ausm Hesseland
Lemmy
Sorry ich hab mir das ganze mal angeschaut und mir ist das dann doch zu kompliziert!
ich habe jetzt das applet in einem IFRAME über eine zusätzliche datei eingebunden und möchte nun dieses alle 10 minuten aktualisieren. einmaliges aktualisieren ist ja kein problem aber mehrmals?!
Javascript und metatag wäre erlaubt.
Guude!
Sorry ich hab mir das ganze mal angeschaut und mir ist das dann doch zu kompliziert!
Schade!
ich habe jetzt das applet in einem IFRAME über eine zusätzliche datei eingebunden und möchte nun dieses alle 10 minuten aktualisieren. einmaliges aktualisieren ist ja kein problem aber mehrmals?!
Da Applets aber zumeist im Browsercache landen, dürfte es mit einem Reload nicht funktionieren. Du darfst es aber gerne probieren... Die richtigen Überbegriffe hast Du ja schon gefunden (Javascript, Metatags), fehlen nur noch die Schlagworte "location.href", "setTimeout()" und "refresh".
LG ausm Hesseland
Lemmy
Schlagworte "location.href", "setTimeout()" und "refresh".
Hab mir das schlagwort "Refresh" geschnappt und als zielpfad die eigene datei angegeben.
Jetzt refresht das applet immer wieder. nix cache!
Habe Fertig!