Android中把文件存放在SDCard

jopen 12年前發布 | 3K 次閱讀 Apache Cayenne Zorka 網絡開發

  SDCard介紹</strong></span>

1SDCard可以把他看看做是移動硬盤或U盤,也就是手機的內存卡

2SDCard的創建是在eclipse創建模擬器時隨同創建,也可以使用dos命令創建

  SDCard的使用

在程序中訪問SDCard的時候需要申請訪問的SDCard權限,即是在AndroidManifest.xml中加入SDCard的權限

<!--允許應用程序寫到外部存儲器-->

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

   <!--允許裝入和卸載文件系統的移動存儲 -->

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

 

也可以通過AndroidManifest.xml中的可視化視圖來創建

 

我們給SDCard賦予權限之后,就可以在activity中往SDCard中寫入文件了,具體的代碼如下:

package cn.csdn.hr.android.sdcard;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

 

import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.util.Log;

 

publicclass SdcardActivityextends Activity {

    @Override

    publicvoid onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       //sdcard的目錄是 mnt/sdcard 或者是sdcare

       setContentView(R.layout.main);

       //寫入數據到sdcard

       try {

           if (Environment.getExternalStorageState().equals(

                  Environment.MEDIA_MOUNTED)) {

           //首先創建一個路徑 ,路徑的創建在android1.6以上,低版本路徑為/sdcard

             

              //通過web得到路徑,放置有的版本不一致而出錯

              File dirPath = Environment.getExternalStorageDirectory();

              //通過日志的方式輸出,我們可在File Explorer中看到輸出

              Log.i("MSG",dirPath.toString());

             

              //String dirPath = "/mnt/sdcard";

              //創建寫入的文件

              File file = new File(dirPath.toString(),"csdn.txt");

              //寫入

              FileOutputStream fos =new FileOutputStream(file);

              fos.write("你好".getBytes("UTF-8"));

              fos.close();

           }

       } catch (FileNotFoundException e) {

           //TODO Auto-generated catch block

           e.printStackTrace();

       } catch (UnsupportedEncodingException e) {

           //TODO Auto-generated catch block

           e.printStackTrace();

       } catch (IOException e) {

           //TODO Auto-generated catch block

           e.printStackTrace();

       }

 

    }

}

 

然后我們就可以在目錄下看到所創建的csdn.text文件,目錄為:

 Android中把文件存放在SDCard

注:

1Environment.getExternalStorageState()方法用于獲取SDCard的狀態,如果手機裝有SDCard,并且可以進行讀寫,那么方法返回的狀態等于Environment.MEDIA_MOUNTED

2Environment.getExternalStorageDirectory()方法用于獲取SDCard的目錄,當然要獲取SDCard的目錄

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!