include

Status
Nicht offen für weitere Antworten.

maio

Mitglied
hi,

gibt es sowas wie eine include-funktion in java, wo ich eine datei mit vordefinierten variablen einbinden kann?

oder muss ich das anders lösen? wenn ja, wie mach ich das?

danke.
 

pogo

Bekanntes Mitglied
was willst du denn damit machen?
soll der user variablen einstellen können oder wie?
 

Grizzly

Top Contributor
Denkst Du bei include an den Befehl include von PHP, mit dem Du eine weitere PHP-Datei einbinden kannst? Nein, sowas gibt es nicht. Nur import, mit dem Du eine weitere Klasse einbindest. Wobei diese schon im Classpath liegen muss.
 

maio

Mitglied
ja ... so was wie bei php in die richtung.

möchte gern so ne art config-datei machen in denen variablen werte zugeordnet sind und diese möchte ich gern in mein java programm einbinden.
 
B

bygones

Gast
maio hat gesagt.:
möchte gern so ne art config-datei machen in denen variablen werte zugeordnet sind und diese möchte ich gern in mein java programm einbinden.
Dann würde ich dir die Klasse Properties empfehlen !
 

semi

Top Contributor
...oder wenn dies konstante Werte sind, dann ein Interface.
z.B.
Code:
public interface AppDefaults {
  public static final String CONFIG_PATH = "var/etc";
  ...
}

public class Whatever implements AppDefaults {
 ...
 

Grizzly

Top Contributor
semi hat gesagt.:
...oder wenn dies konstante Werte sind, dann ein Interface.
z.B.
Code:
public interface AppDefaults {
  public static final String CONFIG_PATH = "var/etc";
  ...
}

public class Whatever implements AppDefaults {
 ...

Wobei man so etwas nicht machen soll. :noe: Stattdessen lieber eine Klasse benutzen.
 
B

bygones

Gast
Illuvatar hat gesagt.:
Und weshalb nicht? ???:L
Ein Interface dient dazu Klassen Eigenschaften zu geben - sie sozusagen als etwas anderes verkaufen zu können (z.b. Comparable)...
Ein reines Konstanten Interface implementieren zu lassen ist daher unsinnig und widerspricht dem Sinn eines Interfaces !

Lieber eine final Klasse mit Konstanten definitionen !
 

maio

Mitglied
das beispiel hat ich gar net gesehen .... :oops:

habs jetzt mal mit zwei varianten probiert. bekomms aber nich auf die reihe.

Code:
        Properties p = new Properties();
        try
        {
            FileInputStream configIn = new FileInputStream("config.txt");
            p.load(configIn);
        }
        catch (IOException ioe)
        {
            System.out.println(ioe);
        }
        System.out.println(p.getProperty("test"));

Code:
        Properties p = new Properties();
        try
        {
            p.load(getClass().getRessourceAsStream("config.txt"));
        }
        catch (IOException ioe)
        {
            System.out.println(ioe);
        }
        System.out.println(p.getProperty("test"));

bei der ersten meckert er das er die datei nich finden kann und bei der zweiten meckerts über getClass().
 

semi

Top Contributor
deathbyaclown hat gesagt.:
Illuvatar hat gesagt.:
Und weshalb nicht? ???:L
Ein Interface dient dazu Klassen Eigenschaften zu geben - sie sozusagen als etwas anderes verkaufen zu können (z.b. Comparable)...
Ein reines Konstanten Interface implementieren zu lassen ist daher unsinnig und widerspricht dem Sinn eines Interfaces !

Lieber eine final Klasse mit Konstanten definitionen !

Wenn man's als Religion betrachtet, dann hast Du recht. :)

Schreib eine Email an SUN, die sollen bitte das Interface
SwingConstants entfernen, es verstößt gegen Regel XY.
Und wenn sie schon dabei sind, dann gleich auch WindowConstants
und noch einige andere Interfaces.

Sorry aber es ist damit ähnlich wie mit "goto" in z.B. C.
Manche werden so richtig hysterisch, wenn sie sowas im
Code sehen :)
 

Grizzly

Top Contributor
Es gibt auch schlüssige Gründe, die gegen Konstanten in einem Interface sprechen. :) Leider finde ich den Artikel nicht mehr... :oops:

Und das Sun in seiner API viel Schindluder treibt, darüber braucht man ja nicht zu diskutieren. ;)

P.S.: Goto in Basic sollte man schon verwenden, vor allem wenn man einen Basic-Dialekt ohne die Möglichkeit hat, Funktionen bzw. Proceduren zu schreiben. Aber in C habe ich das ehrlich gesagt noch nie gebraucht. Für was auch? ;)
 

semi

Top Contributor
Schon wieder "Much quack about nothing" ;)

Ich oute mich als ein überzeugter static-final-in-a-class user.
Das mit dem Interface ist nur ein intellektueller Furz, der mir
so spontan, ohne gefrüstückt zu haben, eingefallen ist.
Bin aber generell gegen irgendwelche UML/Design-Gebote,
die zwar wunderbar in einer zehnfachen Abschrift/Übersetzung
eines Pattern-Buchs klingen, mit der Programmierpraxis aber
nix zu tun haben.

Oder mit anderen Worten

"It's not denial. I'm just very selective about the reality I accept."
(Calvin and Hobbes; 28-Sep-1992)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben