2011-05-17 11 views
13

मेरे पास ऐप इंजन पर /WEB-INF/config.txt पर एक फ़ाइल है। ऐप इंजन पर फ़ाइल का पथ क्या है?मैं ऐप इंजन में एक फ़ाइल कैसे पढ़ूं?

जैसे:। new File(/*What path do i put here?*/)

+0

मेरी समझ में फ़ाइलों को AppEngine पर अनुमति नहीं है। आपको उन्हें स्थिर फाइलों के रूप में घोषित करना होगा और उन्हें यूआरएल के माध्यम से एक्सेस करना होगा। http://blabla.appspot.com/YOURFILE.txt –

+5

फ़ाइलों को पढ़ा जा सकता है, लिखा नहीं है। – Kyle

उत्तर

12

यह मेरे लिए काम किया:

servletContext.getResourceAsStream("/WEB-INF/config.txt")

0

यदि यह आपके आवेदन की और classpath पर हिस्सा है, आप this.getClass का उपयोग कर इसे लोड करने के लिए सक्षम होना चाहिए() getResource()।

+0

मैंने यह कोशिश की, मैं रिसोर्स को किस पैरामीटर में पास कर दूंगा? – Kyle

5

वहाँ appengine how to add resources to your project पर कुछ प्रलेखन है। < संसाधन-फ़ाइलें> भाग देखें। कुछ और जानकारी the description of the appengine sandbox में पढ़ी जा सकती है। ऊपर के उदाहरण 'पथ' निर्देशिका अपने प्रोजेक्ट की 'युद्ध' निर्देशिका के नीचे है में

File f = new File("path/below/my/project/directory/config.txt"); 
InputStream in = new FileInputStream(f); 

:

संसाधनों अपनी परियोजना के लिए जोड़ रहे जब आप अपनी सामग्री को पढ़ने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं।

3

मैं इस एक स्ट्रिंग में पूरी फ़ाइल हड़पने के लिए एक अच्छा तरीका हो पाया:

import java.net.URL; 
import java.io.File; 
import java.io.FileInputStream; 
import com.google.common.io.CharStreams; 

URL resource = getServletContext().getResource("/WEB-INF/config.txt"); 
File file = new File(resource.toURI()); 
FileInputStream input = new FileInputStream(file); 
String myString = CharStreams.toString(new InputStreamReader(input, "UTF-8")); 
5

मेरे मामले में, मैं ServletContext के लिए पहुँच नहीं था -) getServletContext (:

यह मेरे लिए काम करता है:

InputStream inputStream = new FileInputStream(new File("WEB-INF/config.txt")); 
+0

यह मेरे लिए भी काम करता है। तनाव की बात यह है कि यदि आप इसे इस तरह से कर रहे हैं, तो आप "वेब-आईएनएफ/config.txt" में "वेब-आईएनएफ" से पहले "/" नहीं डालते हैं। – CKP78

संबंधित मुद्दे