기본 응용프로그램(application's private data area) 메모리에 있는 파일 입출력
SD Card (응용프로그램 간의 공유 메모리)에 있는 파일 입출력
Resource로 포함된 파일(Read Only)
package com.example.tidewriter;
import java.io.*;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
String fileName = "sample.txt";
EditText editText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onBtnClick(View v) {
String str = null;
editText = (EditText)findViewById(R.id.editText1);
str = editText.getText().toString()+"|";
editText = (EditText)findViewById(R.id.editText2);
str += editText.getText().toString()+"|";
editText = (EditText)findViewById(R.id.editText3);
str += editText.getText().toString()+"|";
editText = (EditText)findViewById(R.id.editText4);
str += editText.getText().toString()+"|";
editText = (EditText)findViewById(R.id.editText5);
str += editText.getText().toString();
fileWrite(str);
fileRead();
}
private void fileWrite(String str) {
try {
FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);
PrintWriter pw = new PrintWriter(fout);
pw.println(str);
pw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
private void fileRead() {
try {
FileInputStream fin = openFileInput(fileName);
BufferedReader br = new BufferedReader(new InputStreamReader(fin));
String line = br.readLine();
Log.d("파일읽기", line);
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
File log = new File(Environment.getExternalStorageDirectory(), "Log.txt");
try {
out = new BufferedWriter(new FileWriter(log.getAbsolutePath(), false));
out.write(new Date().toString());
out.write(" : \n");
} catch (Exception e) {
Log.e(TAG, "Error opening Log.", e);
}
package my.android.test;
import java.io.*;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class FileIO extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rawTxtRead(R.raw.sample);
}
public void rawTxtRead(int resourceId) {
InputStream is = this.getResources().openRawResource(resourceId);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;
try {
while ((readLine = br.readLine()) != null) {
Log.d("TEXT", readLine);
}
is.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.androidapp;
import java.io.*;
import java.util.ArrayList;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class SMSActivity extends Activity {
ListView lview;
String Body = "" ;
String number ="";
ArrayList<String> smslist=new ArrayList<String>();
ArrayAdapter<String> itemAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lview =(ListView)findViewById(R.id.lv);
itemAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,smslist);
lview.setAdapter(itemAdapter);
ContentResolver cr = getContentResolver();
Cursor c = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
while(c.moveToNext()){
number = c.getString(c.getColumnIndexOrThrow("address"));
Body = c.getString(c.getColumnIndexOrThrow("body")).toString();
smslist.add( number + ":" + "\n" + Body);
}
itemAdapter.notifyDataSetChanged();
c.close();
saveToFile(smslist);
readFromFile("smslist.txt");
}
private void saveToFile(ArrayList<String> smslist) {
PrintWriter toFile = null;
try{
toFile = new PrintWriter(openFileOutput("smslist.txt", MODE_PRIVATE ) );
for(int i=0;i<smslist.size();i++) {
toFile.println(smslist.get(i));
}
toFile.close();
}catch(Exception e) {
}
}
private ArrayList<String> readFromFile(String fileName) {
BufferedReader br = null;
String line = null;
ArrayList<String> smslist = new ArrayList<String>();
try{
br = new BufferedReader(new InputStreamReader(openFileInput(fileName)));
while((line=br.readLine())!=null) {
smslist.add(line);
}
br.close();
}catch(IOException ioe) {
}
return smslist;
}
}