2014-11-11 1 views
2

Я хочу сохранить некоторые данные в файле. Содержимое файла будет увеличиваться, поэтому мне нужно добавить данные в этот файл.Как добавить данные в текстовый файл на Android?

FileOperation.java

package com.chinmay.callblocker; 

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.io.OutputStreamWriter; 

/** 
* Created by user on 11/11/2014. 
*/ 
public class FileOperation { 

public Boolean write(String file_name, String content) { 
    try { 
     String file_path = "/sdcard/"+file_name+".txt"; 
     File file = new File(file_path); 

     if(!file.exists()) { 
      file.createNewFile(); 
     } 

     FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
     BufferedWriter bw = new BufferedWriter(fw); 

     /*FileOutputStream fos = new FileOutputStream(file); 
     OutputStreamWriter osw = new OutputStreamWriter(fos); 

     osw.append(content); 
     osw.close(); 
     fos.close();*/ 

     bw.append(content); 
     bw.append("\n"); 
     bw.close(); 

     return true; 
    } catch(IOException e) { 

     e.printStackTrace(); 
     return false; 
    } 
} 
} 

Я использую добавить в файл, но все же это только переписывает.

+0

, что вы имеете в виду «это экономит один раз» – mangusta

+0

@mangusta я имею в виду, что будет сохранять текст в первый раз, то это ничего не добавляет. –

+3

Попробуйте этот FileWriter fw = new FileWriter (file.getAbsoluteFile(), true); – Shini

ответ

0
private static void writeTobriad2(String text) { 



     try { 
      File file = null; 
      file = new File("D:\\somefolder\\filename.txt"); 


      int kb = 1024; 
    int mb = 1024 * 1024; 

    //Getting the runtime reference from system 
    Runtime runtime = Runtime.getRuntime(); 

    long minimum = 10; 
    long memory = runtime.freeMemory()/kb; 

    if (memory < minimum) { 
       System.out.println(
        "##### Heap utilization statistics [MB] #####"); 

       //Print used memory 
       System.out.println("Used Memory:" + 
        ((runtime.totalMemory() - runtime.freeMemory())/mb)); 

       //Print free memory 
       System.out.println("Free Memory:" + 
        (runtime.freeMemory()/mb)); 

       //Print total available memory 
       System.out.println("Total Memory:" + 
        (runtime.totalMemory()/mb)); 

       //Print Maximum available memory 
       System.out.println("Max Memory:" + 
        (runtime.maxMemory()/mb)); 

       //System.out.println("Thread in sleep for 2 mins"+new Date()); 
       try { 
        Thread.currentThread().sleep(10000); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       //System.out.println("Thread awake after 2 mins"+new Date()); 
    } 
      FileWriter fw = new FileWriter(file.getAbsoluteFile(),true); 
      BufferedWriter bw = new BufferedWriter(fw); 
      bw.write(text); 
      bw.newLine(); 
      bw.flush(); 
      bw.close(); 
      fw.close(); 
//System.out.println("Done"); 


//TODO Auto-generated method stub 
     } catch (NumberFormatException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


     // TODO Auto-generated method stub 

    } 
Смежные вопросы