Need Android Saving Cache File Example Program

I need a Sample application that demonstrates saving cache files in Android, as well as how to use the getCacheDir () method?
Can someone help me in solving this problem? I need to save the file in an absolute directory and you need to parse this file.
Thanks at Advance.

+6
android
source share
3 answers

Use (in action):

String textToCache = "Some text"; boolean success = GetCacheDirExample.writeAllCachedText(this, "myCacheFile.txt", textToCache); String readText = GetCacheDirExample.readAllCachedText(this, "myCacheFile.txt"); 

GetCacheDirExample.java

 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import android.content.Context; public class GetCacheDirExample { public static String readAllCachedText(Context context, String filename) { File file = new File(context.getCacheDir(), filename); return readAllText(file); } public static String readAllResourceText(Context context, int resourceId) { InputStream inputStream = context.getResources().openRawResource(resourceId); return readAllText(inputStream); } public static String readAllFileText(String file) { try { FileInputStream inputStream = new FileInputStream(file); return readAllText(inputStream); } catch(Exception ex) { return null; } } public static String readAllText(File file) { try { FileInputStream inputStream = new FileInputStream(file); return readAllText(inputStream); } catch(Exception ex) { return null; } } public static String readAllText(InputStream inputStream) { 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(); } public static boolean writeAllCachedText(Context context, String filename, String text) { File file = new File(context.getCacheDir(), filename); return writeAllText(file, text); } public static boolean writeAllFileText(String filename, String text) { try { FileOutputStream outputStream = new FileOutputStream(filename); return writeAllText(outputStream, text); } catch(Exception ex) { ex.printStackTrace(); return false; } } public static boolean writeAllText(File file, String text) { try { FileOutputStream outputStream = new FileOutputStream(file); return writeAllText(outputStream, text); } catch(Exception ex) { ex.printStackTrace(); return false; } } public static boolean writeAllText(OutputStream outputStream, String text) { OutputStreamWriter outputWriter = new OutputStreamWriter(outputStream); BufferedWriter bufferedWriter = new BufferedWriter(outputWriter); boolean success = false; try { bufferedWriter.write(text); success = true; } catch(Exception ex) { ex.printStackTrace(); } finally { try { bufferedWriter.close(); } catch(Exception ex) { ex.printStackTrace(); } } return success; } } 
+6
source share
  /** Getting Cache Directory */ File tempFile; File cDir = getBaseContext().getCacheDir(); /* Makes a textfile in the absolute cache directory */ tempFile = new File(cDir.getPath() + "/" + "textFile.txt") ; /* Writing into the created textfile */ FileWriter writer=null; try { writer = new FileWriter(tempFile); writer.write("hello workd!"); writer.close(); } catch (IOException e) { e.printStackTrace(); } /* Reading from the Created File */ String strLine=""; StringBuilder text = new StringBuilder(); try { FileReader fReader = new FileReader(tempFile); BufferedReader bReader = new BufferedReader(fReader); while( (strLine=bReader.readLine()) != null ){ text.append(strLine+"\n"); } } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } 
+3
source share

If you really don't need a cache, you should look at saving files more aggressively:

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

I have not tried working with the cache, but it seems that as soon as you get the descriptor, it should work with the same commands that are used for permanent files.

0
source share

All Articles