2012-06-01 20 views
5

के साथ conf फ़ाइल के पैरामीटर में गतिशील रूप से पढ़ने/जोड़ें मान मेरे पास मेरी conf फ़ाइल में नीचे एक संदेश है।गुण

text.message = Richard को School पर 01/06/2012/1days पर जाना होगा।

सभी हाइलाइट किए गए क्षेत्र चर होंगे।

मैं इस text.me स्ट्रिंग को पढ़ना चाहता हूं और गुणों का उपयोग करके अपने जावा से मूल्य डालना चाहता हूं।

मुझे पता है कि प्रो का उपयोग करके पूरी स्ट्रिंग को कैसे पढ़ा जाए, लेकिन यह नहीं पता कि उपरोक्त स्ट्रिंग की तरह कैसे पढ़ा जाए।

text.message = #name# # तारीख # # # # # # में # स्थान # पर जाना है।

  1. मैं उपरोक्त स्ट्रिंग को गुणों का उपयोग करके conf से कैसे पढ़ सकता हूं और डेटा को गतिशील रूप से सम्मिलित कर सकता हूं?

  2. यह स्ट्रिंग में दिनांक या दिन हो सकता है। मैं उन पैरामीटर के बीच कैसे चालू और बंद कर सकता हूं?

धन्यवाद।

+0

(http [क्या आप की कोशिश की है?]: //www.whathaveyoutried। कॉम /) –

उत्तर

15

आप इसके लिए MessageFormat एपीआई का उपयोग कर सकते हैं।

शुरू हो रहे हैं उदाहरण:

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

साथ
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

आप MessageFormat कक्षा का उपयोग कर सकते हैं, जो इच्छित मूल्यों के साथ एक स्ट्रिंग में गतिशील प्लेसहोल्डर्स को प्रतिस्थापित करता है।

उदाहरण के लिए, निम्न कोड ...

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); 

... निम्नलिखित उत्पादन का उत्पादन होगा:

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

आप बस अपनी Properties वस्तु से पैटर्न प्राप्त कर सकते हैं, तो लागू संदेशफॉर्मेट अनुवाद।

+0

प्लस 1. धन्यवाद। – kitokid

-1

आप के बारे में गुण फ़ाइल मदद पाने के लिए इस कोड को आजमा सकते हैं।

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(); 
     } 
    } 

} 
} 
} 

आउटपुट

config.properties

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