2016-12-08 2 views
1

Ich versuche zuerst meine Anwendung Eigenschaften in Java zu drucken, dann schieben Sie es in eine Thymeleleaf HTML-Seite. Zweck: Benutzern erlauben, die Eigenschaftendatei mit GET/POST zu bearbeiten. Mein aktueller Code zeigt die Werte Schlüssel und Werte der Eigenschaften der Konsole an, wenn sie gleich sind. Wie bekomme ich es dahin, wo es nur spezifische und mehrere Präfixe extrahiert?Wie kann ich eine Anwendungseigenschaftendatei durch Präfix lesen?

-Code/Attempt

public class ReadPropertiesFile { 


public static void readProp() { 

try { 
    Properties prop = new Properties(); 
    prop.load(ReadPropertiesFile.class.getResourceAsStream("/application.properties")); 

    Enumeration enuKeys = prop.keys(); 
     while (enuKeys.hasMoreElements()) { 
       String key = (String) enuKeys.nextElement(); 
       String value = prop.getProperty(key); 
       System.out.println(key + "= " + value); 
      } 
      } catch (FileNotFoundException e) { 
      //System.out.print("System cannot find file"); 
       e.printStackTrace(); 
      } catch (IOException e) { 
       //System.out.print("System cannot find file"); 
       e.printStackTrace(); 
      } 
} 

Beispiel application.properties

prefix.foo = [email protected][email protected][email protected]!scar 
prefix.cool = [email protected][email protected] 
some.feed = [email protected][email protected]!offline 
some.feed = [email protected][email protected]!cat 
noprefix = [email protected][email protected]!me 
host = [email protected][email protected]!host3 

der Lage sein, nur alle Werte von Präfix zu drucken und einige.

+0

was meinst du mit Mehrfachpräfix? – Coder

+0

Wahrscheinlich fragen Sie über Spring-Boot? Dann schlage ich vor, dieses Tag zu der Frage hinzuzufügen. –

+0

@Coder in application.properties sehen Sie das Präfix. (Name) oder etwas. (Name). Ich möchte einen Java-Code schreiben, der diese Schlüssel basierend auf dem Präfix extrahieren kann. – Jesse

Antwort

1
public class ReadPropertiesFile { 


public static void readProp() { 

try { 
    Properties prop = new Properties(); 
    prop.load(ReadPropertiesFile.class.getResourceAsStream("/application.properties")); 

    Enumeration enuKeys = prop.keys(); 
     while (enuKeys.hasMoreElements()) { 
       String key = (String) enuKeys.nextElement(); 
       String value = prop.getProperty(key); 
       if (key.startsWith("prefix") || key.startsWith("some")) { 
        System.out.println(key + "= " + value); 
       } 
      } 
      } catch (FileNotFoundException e) { 
      //System.out.print("System cannot find file"); 
       e.printStackTrace(); 
      } catch (IOException e) { 
       //System.out.print("System cannot find file"); 
       e.printStackTrace(); 
      } 
} 

Ist das was du willst? Drucken Sie einfach Tasten, die mit "prefix" oder "some" beginnen?

Verwandte Themen