is Storage Readable/Writable : Environment « Core Class « Android

Home
Android
1.2D Graphics
2.Animation
3.Core Class
4.Database
5.Date Type
6.Development
7.File
8.Game
9.Hardware
10.Media
11.Network
12.Security
13.UI
14.User Event
Android » Core Class » Environment 
is Storage Readable/Writable
    
//package ch.uzh.ifi.attempto.mobileape;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.os.Environment;
import android.widget.Toast;

public class Utils {

  public static boolean isStorageWritable() {
    boolean mExternalStorageAvailable = false;
    boolean mExternalStorageWriteable = false;
    String state = Environment.getExternalStorageState();

    if (Environment.MEDIA_MOUNTED.equals(state)) {
      // We can read and write the media
      mExternalStorageAvailable = mExternalStorageWriteable = true;
    else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
      // We can only read the media
      mExternalStorageAvailable = true;
      mExternalStorageWriteable = false;
    else {
      // Something else is wrong. It may be one of many other states, but all we need
      //  to know is we can neither read nor write
      mExternalStorageAvailable = mExternalStorageWriteable = false;
    }
    //Toast.makeText(TransAnd.this, "SD: available: " + mExternalStorageAvailable + "; writable: " + mExternalStorageWriteable, Toast.LENGTH_LONG).show();

    return (mExternalStorageAvailable && mExternalStorageWriteable);
  }


  public static boolean isStorageReadable() {
    boolean mExternalStorageAvailable = false;
    String state = Environment.getExternalStorageState();

    if (Environment.MEDIA_MOUNTED.equals(state)) {
      mExternalStorageAvailable = true;
    else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
      mExternalStorageAvailable = true;
    }
    return mExternalStorageAvailable;
  }


  /**
   
   @param filePath
   @return
   @throws java.io.IOException
   */
  public static String readFileAsString(String filePaththrows java.io.IOException {
    byte[] buffer = new byte[(intnew File(filePath).length()];
    BufferedInputStream f = null;
    try {
      f = new BufferedInputStream(new FileInputStream(filePath));
      f.read(buffer);
    finally {
      if (f != nulltry f.close()catch (IOException ignored) { }
    }
    return new String(buffer);
  }


  public static List<String> readFileToLines(String filePaththrows IOException {
    List<String> lines = new ArrayList<String>();

    FileInputStream fstream = new FileInputStream(filePath);
    DataInputStream in = new DataInputStream(fstream);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String strLine;
    while ((strLine = br.readLine()) != null)   {
      lines.add(strLine);
    }
    in.close();
    return lines;
  }


  public static void showMessage(Context context, String message) {
    Toast.makeText(context, message, Toast.LENGTH_LONG).show();
  }


  public static void showException(Context context, Exception e) {
    Toast.makeText(context, e.getMessage(), Toast.LENGTH_LONG).show();
  }
}

   
    
    
    
  
Related examples in the same category
1.Create a new directory on external storage
2.May crash when External-Media is not mounted.
3.Get External Storage Directory
4.Environment.MEDIA_MOUNTED, Environment.MEDIA_MOUNTED_READ_ONLY
5.Utility class used to deal with SD card cache.
6.return True if the external storage is available/writable.
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.