2010-04-25 10 views
8

मैं जीडब्ल्यूटी का उपयोग कर एक वेबपेज लिख रहा हूं। अब मुझे एक टेक्स्ट फ़ाइल पढ़ने और वेबपृष्ठ में सामग्री प्रदर्शित करने की आवश्यकता है, लेकिन यह नहीं पता कि जीडब्ल्यूटी के साथ ऐसा कैसे किया जाए।google GWT में टेक्स्ट फ़ाइल पढ़ें?

यह बहुत अच्छा है अगर GWT में कोई तरीका है जिसे मैं पढ़ सकता हूं .properties फ़ाइल। (कृपया ध्यान दें कि यह स्थानीयकरण की गुण फ़ाइल नहीं है जो जीडब्ल्यूटी पहले ही समर्थित है)

क्या किसी के पास कोई विचार है, कृपया?

धन्यवाद।

उत्तर

10

आप RequestBuilder

new RequestBuilder(RequestBuilder.GET, "path/to/file.txt").sendRequest("", new RequestCallback() { 
    @Override 
    public void onResponseReceived(Request req, Response resp) { 
    String text = resp.getText(); 
    // do stuff with the text 
    } 

    @Override 
    public void onError(Request res, Throwable throwable) { 
    // handle errors 
    } 
}); 
+1

फ़ाइल की पठनीयता केवल सर्वर उस पर संग्रह किया गया है ('.htaccess', आदि) के विन्यास के द्वारा प्रतिबंधित है - जब तक फ़ाइल सार्वजनिक रूप से उपलब्ध है तो आप इसे' RequestBuilder' के माध्यम से प्राप्त कर सकते हैं। यदि आप अपनी फाइलें सभी को सार्वजनिक नहीं करना चाहते हैं, तो आप एक सर्वलेट (या इसी तरह की सेवा) लिख सकते हैं जो सर्वर पर संग्रहीत फ़ाइलों तक पहुंचता है (फाइलें तब सार्वजनिक रूप से उपलब्ध नहीं होती हैं - केवल उदाहरण के लिए, पंजीकृत उपयोगकर्ता)। आप सर्वर को कई तरीकों से कॉन्फ़िगर कर सकते हैं - केवल स्थानीयहोस्ट में फ़ाइलों को सेवा दें, कुछ गैर-www फ़ोल्डर, आदि से फ़ाइलें पढ़ें –

+0

अच्छा बिंदु, इसे प्रतिबिंबित करने के लिए मेरा उत्तर संपादित किया। –

+0

आपके उत्तरों के लिए धन्यवाद। हालांकि, मुझे निम्नानुसार समस्या मिली: मैंने बिल्कुल उपरोक्त कोड किया था। मेरे पास एक फ़ोल्डर है जिसमें 3 फ़ाइल है: abc.data, abc.file, net.properties। मैं net.properties फ़ाइल के संदर्भ को पढ़ना चाहता था, लेकिन उपरोक्त कोड हमेशा abc.file के संदर्भ को वापस कर देता है। और यदि यह फ़ाइल मौजूद नहीं है, तो एक अपवाद फेंक दिया गया था, भले ही मैं पथ को http://127.0.0.1:8080/path/net.properties के रूप में निर्दिष्ट करता हूं। कोई विचार, कृपया? – ipkiss

1

का उपयोग कर पाठ फ़ाइल अपने GWT परियोजना का हिस्सा है अपने GWT अनुप्रयोग में फ़ाइलों को पढ़ सकता है, आप इसे एक ClientBundle में शामिल कर सकते हैं। यदि यह आपकी प्रोजेक्ट का हिस्सा नहीं है, तो RequestBuilder सही उत्तर की तरह लगता है।

मैंने क्लाइंटबंडल का उपयोग करने के तरीके को दिखाने के लिए एक साधारण example project पोस्ट किया।

String greetings = Assets.INSTANCE.greetings().getText(); 
final Greeter greeter = new Greeter(); 
greeter.loadGreetings(Arrays.asList(greetings.split("\\n"))); 
संबंधित मुद्दे