2012-02-16 11 views
5

में नई लाइन नहीं लिखेगा मैं एंड्रॉइड में एक टेक्स्ट फ़ाइल में एक नई लाइन लिखने की कोशिश कर रहा हूं।एंड्रॉइड टेक्स्ट फ़ाइल

FileOutputStream fOut; 
try { 
    String newline = "\r\n"; 
    fOut = openFileOutput("cache.txt", MODE_WORLD_READABLE); 
    OutputStreamWriter osw = new OutputStreamWriter(fOut); 

    osw.write(data); 
    osw.write(newline); 

    osw.flush(); 
    osw.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

मैं \n, \r\n की कोशिश की है और मैं भी एक नई लाइन के लिए प्रणाली संपत्ति प्राप्त करने की कोशिश की थी, न तो उनमें से काम करते हैं:

यहाँ मेरी कोड है।

डेटा चर में एक ही फ़ाइल से पहले डेटा शामिल है।

String data = ""; 

try { 
    FileInputStream in = openFileInput("cache.txt"); 
    StringBuffer inLine = new StringBuffer(); 
    InputStreamReader isr = new InputStreamReader(in, "ISO8859-1"); 
    BufferedReader inRd = new BufferedReader(isr,8 * 1024); 
    String text; 

    while ((text = inRd.readLine()) != null) { 
     inLine.append(text); 
    } 

    in.close(); 
    data = inLine.toString(); 
} catch (FileNotFoundException e1) { 
    e1.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
+0

आपका क्या मतलब है "काम नहीं करता" आप इसे हमें कैसे पता चलेगा इसके अलावा जगह 'कुछ" foo "की तरह सरल और साथ डेटा' कि क्या चर सामग्री की जाँच की कोशिश? समस्याओं का कारण बनता है। –

+0

जब मैं इसे टेक्स्टडिट, शब्द या किसी अन्य प्रोग्राम में खोलता हूं। नई लाइनें प्रदर्शित नहीं होती हैं। – NikolajSvendsen

+0

डमी टेक्स्ट के साथ प्रयास किया गया यह नहीं था ork। – NikolajSvendsen

उत्तर

0

मैंने एक समान कार्यक्रम निष्पादित किया और यह मेरे लिए काम किया। हालांकि मैंने एक अजीब व्यवहार देखा। इसने फाइल में उन नई लाइनों को जोड़ा, हालांकि कर्सर पहली पंक्ति में बना रहा। अगर आप सत्यापित करना चाहते हैं, तो अपने न्यूलाइन अक्षरों के बाद String लिखें, आप देखेंगे कि String उन नई लाइनों के ठीक नीचे लिखा गया है।

0

मुझे एक ही समस्या थी और एक नई लाइन लिखने में असमर्थ था। इसके बजाय मैं फ़ाइल में एक नई लाइन लिखने के लिए बफरड्राइटर का उपयोग करता हूं और यह मेरे लिए काम करता है।

OutputStreamWriter out = new OutputStreamWriter(openFileOutput("cache.txt",0)); 
BufferedWriter bwriter = new BufferedWriter(out); 
// write the contents to the file 
bwriter.write("Input String"); //Enter the string here 
bwriter.newLine(); 
2

मैं एक ही समस्या थी, किताब में हर चाल की कोशिश की: यहाँ एक नमूना कोड sniplet है।

मेरे समस्या: न्यू लाइन के लिखा गया है, लेकिन जब तक पढ़ने से उन्हें हटाया गया:

while (readString != null) { 
       datax.append(readString); 
       readString = buffreader.readLine(); 
      } 

फ़ाइल लाइन और concatenated द्वारा लाइन पढ़ रहा था, इसलिए नई पंक्ति के गायब हो गया।

मैं नोटपैड में मूल फ़ाइल या कुछ और पर ध्यान नहीं कहा क्योंकि मैं जहां मेरे फोन पर देखने के लिए नहीं पता था, और मेरे logscreen कोड है जो न्यू लाइन के :-(

तो सरल soultion हटाया इस्तेमाल किया इसे वापस डाल करने के लिए था, जबकि पढ़ने:

while (readString != null) { 
       datax.append(readString); 
       datax.append("\n"); 
       readString = buffreader.readLine(); 
      } 
संबंधित मुद्दे