2012-06-01 10 views
5

Mam wiadomość jak poniżej w moim pliku conf.dynamicznie odczytać/dodać wartość do parametru pliku conf z właściwościami

text.message = Richard musi przejść do School w 01/06/2012/1days.

Wszystkie wyróżnione pola będą zmienne.

Chcę przeczytać ten ciąg text.me i wstaw wartość z mojego java przy użyciu Właściwości.

Wiem, jak czytać cały ciąg za pomocą podpory, ale nie wiem, jak odczytać powyższy ciąg, który będzie podobny.

text.message = #name# musi przejść do # miejsca # w # dniu #/# dnia #.

  1. Jak mogę odczytać powyższy ciąg z conf za pomocą Właściwości i wstawić dane dynamicznie?

  2. Może to być data lub dni w ciągu znaków. Jak mogę włączać i wyłączać te parametry?

Dzięki.

+0

(http [Co próbowałeś?] //www.whathaveyoutried. com /) –

Odpowiedz

15

Możesz użyć do tego interfejsu API MessageFormat.

Kickoff przykład:

text.message = {0} has to go to {1} in {2,date,dd/MM/yyyy}/{3} 

z

String message = properties.getProperty("text.message"); 
String formattedMessage = MessageFormat.format(message, "Richard", "School", new Date(), "1days"); 
System.out.println(formattedMessage); // Richard has to go to School in 31/05/2012/1days 
4

Można użyć klasy MessageFormat, która zamienia dynamiczne symbole zastępcze w łańcuchu na żądane wartości.

Na przykład, następujący kod ...

String pattern = "{0} has to go to {1} in {2,date}/{3,number,integer} days."; 
String result = MessageFormat.format(pattern, "Richard", "school", new Date(), 5); 
System.out.println(result); 

... będzie następujący wynik:

Richard has to go to school in 31-May-2012/5 days. 

można po prostu dostać wzór ze swojego obiektu Properties, a następnie zastosować Tłumaczenie MessageFormat.

+0

plus 1. Dzięki. – kitokid

-1

Można spróbować ten kod, aby uzyskać pomoc na temat właściwości pliku.

App.java

import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.util.Properties; 

public class App { 
public static void main(String[] args) { 

Properties prop = new Properties(); 
OutputStream output = null; 

try { 

    output = new FileOutputStream("config.properties"); 

    // set the properties value 
    prop.setProperty("database", "localhost"); 
    prop.setProperty("dbuser", "ayushman"); 
    prop.setProperty("dbpassword", "password"); 

    // save properties to project root folder 
    prop.store(output, null); 

} catch (IOException io) { 
    io.printStackTrace(); 
} finally { 
    if (output != null) { 
     try { 
      output.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

} 
} 
} 

Wyjście

config.properties

#Fri Jan 17 22:37:45 MYT 2014 
dbpassword=password 
database=localhost 
dbuser=ayushman 
Powiązane problemy