Saturday 22 October 2011

File Storage

External Storage:

package com.icapes.file;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;


import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class FileStorage extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


final EditText edit = (EditText) findViewById(R.id.EditText01);
Button buttonWrite = (Button) findViewById(R.id.Button02);


final TextView reader = (TextView) findViewById(R.id.TextView01);
Button buttonRead = (Button) findViewById(R.id.Button01);


buttonWrite.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
writeToFile(edit.getText().toString());


}
});


buttonRead.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
readToTextView(reader);


}
});


}


private void writeToFile(String text) {
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath();
System.out.println("Storage root directory " + path);
path = path + "/icapes";
System.out.println("Application storage directory " + path);


File file = new File(path);
if (!file.exists()) {
file.mkdir();
}


path = path + "/myfile.txt";
System.out.println("Actual file path: " + path);


File myFile = new File(path);


FileWriter writer;
try {
writer = new FileWriter(myFile);
writer.write(text);
writer.flush();
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


private void readToTextView(TextView tv) {
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
path = path + "/icapes/myfile.txt";
StringBuilder text = new StringBuilder();
   String NL = System.getProperty("line.separator");
   Scanner scanner = null;
try {
scanner = new Scanner(new FileInputStream(new File(path)), "UTF-8");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
   try {
     while (scanner.hasNextLine()){
       text.append(scanner.nextLine() + NL);
     }
   }
   finally{
     scanner.close();
   }
   
   tv.setText(text.toString());
}
}

File path:



File output:

No comments:

Post a Comment