android SD 卡写操作

package com.example.sdfilepath;

import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.RandomAccessFile;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private String SDPath=null;
private String FilePath=null;

private TextView t=null;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    t=(TextView)findViewById(R.id.t);
    readPath();
}


private void readPath() {
    //首先判断是否存在SD卡
    FilePath=getApplication().getFilesDir().getPath();//获取程序包的路径
    Toast.makeText(getApplicationContext(), "--filepath--"+FilePath, Toast.LENGTH_LONG).show();
    boolean hassd=Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
    if(hassd){

        SDPath=Environment.getExternalStorageDirectory().getPath();//获取SD路径
        Toast.makeText(getApplicationContext(), "path is "+SDPath, Toast.LENGTH_SHORT).show();
        t.setText(SDPath);
        outputFile(SDPath);//在sd路径中写入数据

    }else{
        Toast.makeText(getApplicationContext(), "not SD ", Toast.LENGTH_SHORT).show();
    }

}


private void outputFile(String sDPath2) {
    Toast.makeText(getApplicationContext(), "-------", Toast.LENGTH_LONG).show();
    File file = new File(sDPath2,"pxy1235.txt");
    Toast.makeText(getApplicationContext(), sDPath2+"/pxy.txt", Toast.LENGTH_LONG).show();
    try {



           if(file.exists()){
               Toast.makeText(getApplicationContext(), "fiel exists", Toast.LENGTH_SHORT).show();
               return;
           }else{
              file.createNewFile();
             // RandomAccessFile af = new RandomAccessFile(file, "rwd");    
           }

           DataOutputStream out = new DataOutputStream(new FileOutputStream(file));//已二进制写出数据

           BufferedWriter out1 = new BufferedWriter(new FileWriter(file));//已字符写出数据

            for(int i=0;i<100;i++){
                try {
                    out1.write(i+"");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            out.close();out1.close();
            Toast.makeText(getApplicationContext(), "SD 写入数据完毕", Toast.LENGTH_SHORT).show();


    } catch (FileNotFoundException e) {
        Toast.makeText(getApplicationContext(), "FileNotFoundException", Toast.LENGTH_SHORT).show();
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        Toast.makeText(getApplicationContext(), "IOException"+e.getMessage(), Toast.LENGTH_SHORT).show();
        t.setText(e.getMessage());
        e.printStackTrace();
    }


}


public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}
///////////////////////////
加入以下的SD权限

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

你可能感兴趣的:(android,sd)