बातें सरल हैं, लेकिन माना जाता के रूप में काम नहीं करते।एंड्रॉयड पाठ कच्चे संसाधन फ़ाइल को पढ़ने
मैं एक पाठ फ़ाइल एक कच्चे संसाधन के रूप में जोड़ा है। पाठ फ़ाइल पाठ की तरह:
ख) यदि लागू कानून सॉफ़्टवेयर के संबंध में किसी भी वारंटी होते हैं, जिसे जैसे वारंटी लिमिटेड में अवधि नब्बे के लिए (डिलीवरी की तिथि से 90) दिन हैं ।
(ग) कोई मौखिक या लिखित जानकारी या सलाह आभासी ओरिएंटियरिंग द्वारा दिए गए इसके डीलरों, वितरकों, एजेंट या कर्मचारियों को एक वारंटी या किसी भी तरह से बनाएगी किसी भी वारंटी यहाँ उपलब्ध कराए गए क्षेत्र में वृद्धि ।
(घ) (यूएसए केवल) कुछ राज्य न करें निहित वारंटियों के बहिष्कार की अनुमति, अतः उपरोक्त बहिष्कार आप पर लागू नहीं हो सकता है। इस वारंटी GIVES आप विशिष्ट कानूनी अधिकारों और आप कर सकते हैं भी अन्य कानूनी अधिकार है कि भिन्न राज्य से दूसरे राज्य होगा।
मेरी स्क्रीन पर मैं इस तरह एक लेआउट है:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1.0"
android:layout_below="@+id/logoLayout"
android:background="@drawable/list_background">
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/txtRawResource"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dip"/>
</ScrollView>
</LinearLayout>
कच्चे संसाधन को पढ़ने के लिए कोड है:
TextView txtRawResource= (TextView)findViewById(R.id.txtRawResource);
txtDisclaimer.setText(Utils.readRawTextFile(ctx, R.raw.rawtextsample);
public static String readRawTextFile(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
return null;
}
return byteArrayOutputStream.toString();
}
पाठ का पता चला मिलता है लेकिन प्रत्येक पंक्ति के बाद मैं एक मिल अजीब चरित्र [] मुझे लगता है कि चरित्र को कैसे निकालूं? मुझे लगता है कि यह नई लाइन है।
श्रमजीवी समाधान
public static String readRawTextFile(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
StringBuilder text = new StringBuilder();
try {
while ((line = buffreader.readLine()) != null) {
text.append(line);
text.append('\n');
}
} catch (IOException e) {
return null;
}
return text.toString();
}
मुझे यकीन है कि Inputstream.available(), यहाँ सही विकल्प है बल्कि == -1 एक ByteArrayOutputStream तक एन एन पढ़ नहीं हूँ। – ThomasRS
यह बड़े संसाधनों के लिए काम नहीं कर सकता है। यह इनपुटस्ट्रीम रीड बफर के आकार पर निर्भर करता है और केवल संसाधन का एक हिस्सा लौटा सकता है। – d4n3
@ d4n3 सही है, इनपुट धारा उपलब्ध विधि राज्यों के प्रलेखन: "बाइट्स कि या पढ़ा जा सकता है और अधिक निवेश के लिए ब्लॉक किए बिना छोड़ दिया की अनुमानित संख्या देता है नोट है कि इस विधि में इस तरह के एक कमजोर गारंटी नहीं है कि ऐसा नहीं है प्रदान करता है। अभ्यास में बहुत उपयोगी " – ozba