package com.jpyu.sdcard;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class sdcardActivity extends Activity {
/** Called when the activity is first created. */
// GUI controls
EditText txtData;
Button btnWriteSDFile;
Button btnReadSDFile;
Button btnClearScreen;
Button btnClose;
private final String SD_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath();
public static final String FILE_PATH = "/fileio";
private final String INPUT_FILENAME = "file.doc";
String dirPath = SD_PATH+FILE_PATH+"/";
String filenameWithPath = SD_PATH+FILE_PATH+"/"+INPUT_FILENAME;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
setListener();
}// onCreate
private void findViews() {
// bind GUI elements with local controls
txtData = (EditText) findViewById(R.id.txtData);
txtData.setHint("Enter some lines of data here...");
btnWriteSDFile = (Button) findViewById(R.id.btnWriteSDFile);
btnReadSDFile = (Button) findViewById(R.id.btnReadSDFile);
btnClearScreen = (Button) findViewById(R.id.btnClearScreen);
btnClose = (Button) findViewById(R.id.btnClose);
}
private void setListener() {
btnWriteSDFile.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
writeFileToSdcardv2();
}// onClick
}); // btnWriteSDFile
btnReadSDFile.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
readFileFromSdcardv1();
}// onClick
}); // btnReadSDFile
btnClearScreen.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// clear text box
txtData.setText("");
}
}); // btnClearScreen
btnClose.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// clear text box
finish();
}
}); // btnClose
}
void readFileFromSdcardv1(){
try {
File myFile = new File(filenameWithPath);
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(
new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = "";
while ((aDataRow = myReader.readLine()) != null) {
aBuffer += aDataRow + "\n";
}
txtData.setText(aBuffer);
myReader.close();
Toast.makeText(getBaseContext(),
"Done reading SD 'mysdfile.txt'",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
void writeFileToSdcardv1(){
// write on SD card file data in the text box
try {
File myFile = new File(filenameWithPath);
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),
"Done writing SD 'mysdfile.txt'",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
void writeFileToSdcardv2(){
// write on SD card file data in the text box
try {
// create a File object for the parent directory
File newDir = new File(dirPath);
// have the object build the directory structure, if needed.
newDir.mkdirs();
File myFile = new File(filenameWithPath);
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),
"Done writing SD 'mysdfile.txt'",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
}<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget28"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000ff"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/txtData"
android:layout_width="fill_parent"
android:layout_height="180px"
android:textSize="18sp" />
<Button
android:id="@+id/btnWriteSDFile"
android:layout_width="251px"
android:layout_height="wrap_content"
android:text="1. Write SD File" />
<Button
android:id="@+id/btnClearScreen"
android:layout_width="251px"
android:layout_height="wrap_content"
android:text="2. Clear Screen" />
<Button
android:id="@+id/btnReadSDFile"
android:layout_width="251px"
android:layout_height="wrap_content"
android:text="3. Read SD File" />
<Button
android:id="@+id/btnClose"
android:layout_width="251px"
android:layout_height="wrap_content"
android:text="4. Close" />
</LinearLayout>
全站熱搜
留言列表

