Öffnen und Auslesen einer Textdatei

Huemler

Mitglied
Hallo ich habe folgendes Problem.
Ich möchte eine Textdatei auslesen, dies funktioniert auch, jedoch nur wenn meine Datei text.txt auch im Ordner liegt in dem meine html, class und java files liegen.
Ich habe nun schon zig verschiedene Formen versucht den Ordnerpfad anzugeben in der er text.txt suchen soll wenn sie nicht in diesem Ordner liegt, aber es funktioniert irgendwie nicht.

Mein Code sieht folgendermaßen aus:
C:
import java.applet.*;
import java.awt.Graphics;
import java.io.*;
import java.net.*;
 
public class input extends Applet {
String tmp;
	public  void init(){

		try {
			String url = this.getCodeBase().toString() + "text.txt";
      			BufferedReader din = new BufferedReader(new InputStreamReader( new URL(url).openStream()   ));
			tmp =  "Inhalt der Textdatei: " + din.readLine();
			
		}
		catch (IOException e) {
			tmp = "Fehler"; 
		}	
	}
 
	public void paint(Graphics g)
	{
	g.drawString(tmp,100,100);
	}
}
Hat mir jemand ein Tipp wie ich den Pad angeben muss?
Gruß Huemler
 
Hallo,

welcher Fehler kommt denn?
Wenn du keine Packages hast, brauchst du keinen Ordner anzugeben. Falls du doch Packages hast, musst du nur die Packages angeben.

MFG

zEriX
 
Moin!
Statt einfach nur Fehler auszugeben, solltest du mal e.printStackTrace(); machen..
Dann sieht man auch, was genau da falsch läuft
*grüssle*
MeinerEiner
 
Mh, mach wohl mit dem e.printStackTrace() ; was falsch.
Da wird bei mir garnichts ausgegeben.
Hab folgendes probiert:
C:
catch (IOException e) { e.printStackTrace() ; }

hab mal jetzt noch was anderes gemacht und zwar hab ich
C:
g.drawString(url,100,100);
eingefügt und dann zeigt er mir folgende url an
C:
file:/C:/Interface/text.txt
wenn ich jetzt statt
C:
String url = this.getCodeBase().toString() + "text.txt";
dies eingebe
String url = "file:/C:/Interface/text.txt"
dann geht es ja natürlich auch.
Speicher ich jedoch die Textdatei woanders hin und ändere die URL dementsprechend um, dann funktioniert es wieder nicht.
Jetzt hab ich gerade was von nem SecurityManager bei Java gelesen.
Könnte dies auch ein Fehler wegen fehlenden Rechte sein, sodass ich nur Textfiles aus dem aktuellen Ordner öffnen kann?

Gruß
Huemler
 
Wenn bei e.printStackTrace nichts ausgegeben wird, tritt dort auch kein Fehler auf, weil sonst was ausgegeben werden muss.

Wie es bei einem Applet aussieht, weiß ich jetzt nicht ganz genau, aber es kann an dem Security-Manager liegen, dass du die Dateien in einem anderen Pfad nicht öffnen kannst.

MFG

zEriX
 
Zurück