android SD 卡寫操做

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

相關文章
相關標籤/搜索