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.
 
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.
 
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.
 
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 !
 
...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 {
 ...
 
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.
 
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 !
 
das beispiel hat ich gar net gesehen .... 😳

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().
 
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 🙂
 
Es gibt auch schlüssige Gründe, die gegen Konstanten in einem Interface sprechen. 🙂 Leider finde ich den Artikel nicht mehr... 😳

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? 😉
 
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.

Zurück
Oben