うみたんのアトリエ

Android開発とかメモっておきたいこと記録していくの。

ファイルの生成および書き込み

Android開発におけるファイルの生成および書き込みについて、
以下のメソッドを作りました。

/**
* 任意のファイル名でファイルを生成し、
* 任意の文字列を書き込む。
*
* @param fileName ファイル名
* @param data 書き込むデータ
*/
private void writeFile(String fileName, List data) {
// ファイルパスの生成
String path = Environment.getExternalStorageDirectory().getPath();
String filePath = path + File.separator + fileName;
File file = new File(filePath);
// ファイルがあるかないか
if (!file.isFile()) {
// ない場合はmkdirで生成
file.getParentFile().mkdir();
}

FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
fos = new FileOutputStream(file, true);
osw = new OutputStreamWriter(fos, "UTF-8");
bw = new BufferedWriter(osw);
// 書き込む内容
// デフォルト値を設定する
for (String st : data) {
// 書き込み
bw.write(st);
}
bw.flush();

} catch (IOException e) {
Toast.makeText(this, "書き込み失敗", Toast.LENGTH_SHORT).show();
} finally {
// 終了処理
try {
// Close処理
if (bw != null) {
bw.close();
}
if (osw != null) {
osw.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
Toast.makeText(this, "Close処理失敗", Toast.LENGTH_SHORT).show();
}
}