ファイル入出力 [Android]
- Android
-
2011-11-05 - 更新:2011-12-15
この記事は最終更新日から1年以上経過しています。
Androidでは、アプリケーション毎に専用のディレクトリが設けられています。
アプリケーション毎に「/data/data/パッケージ名」となっていて、
更にそれ以下に以下のように領域が分かれています。
| databases | データベースの保存 |
|---|---|
| shared_prefs | 設定ファイルの保存 |
| files | ファイルの保存 |
今回はファイルの入出力なので、「files」ディレクトリを利用します。
アクセスする際はファイルまでのパスは不要です。
例)簡単なファイル入出力
package android.sample.MyFileAccess;
import java.io.*;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class HelloFileAccessActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ファイルアクセスデレクトリの表示 /data/data/packagename/files
File fileDir = getFilesDir();
Toast.makeText(this, String.format("ファイルアクセスデレクトリは「%s」です。",
fileDir.getPath()), Toast.LENGTH_LONG).show();
//writeFile("test.txt");
readFile("test.txt");
}
private void writeFile(String FILE_NAME){
// openFileOutputメソッドの例
// Editテキストに入力されたテキストをファイルに書き込む
try {
FileOutputStream outputStream = openFileOutput(FILE_NAME, MODE_PRIVATE);
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(outputStream));
writer.write("write file testing");
writer.close();
} catch (Exception e) {
Toast.makeText(getApplicationContext(),
"ファイルの書込みに失敗しました。\n" + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
private void readFile(String FILE_NAME){
// openFileInputメソッドの例
// ファイルを読込みTextViewに表示する
try {
FileInputStream inputStream = openFileInput(FILE_NAME);
BufferedReader reader = new BufferedReader(
new InputStreamReader(inputStream));
String line;
StringBuilder lines = new StringBuilder();
while ((line = reader.readLine()) != null) {
lines.append(line).append('\n');
}
reader.close();
//tv.setText(lines);
Toast.makeText(this, lines, Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(),
"ファイルの読込みに失敗しました。\n" + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}
この記事がお役に立ちましたらシェアお願いします
4,137 views




