package com.example.sdfilepath;java
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;android
import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.widget.TextView; import android.widget.Toast;app
public class MainActivity extends Activity {dom
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.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>this