FC2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム » Android »【Android】【Java】内部ストレージにテキストファイルを保存する

【Android】【Java】内部ストレージにテキストファイルを保存する  


 ついでなので、前回の「内部ストレージからテキストファイルを読み込む」のテストにも使えるように、簡単な保存機能も書いてみる。ストリームにて書き込みも必要なので、簡単なものを用意した。読み込みの loadText() はサイズ不定でも良いように、最後まで while ループで読み込んでいるが、保存の場合はサイズがわかってるので、1つのメソッドで済ませている。あまりに巨大なファイルでなければ、これで十分だろう。正確にはファイルを保存というより、出力先に転送みたいな感じなのだが、出力先をファイルに限定して、loadText() と対に使っても良いだろう。

//設定値
private static final String DEFAULT_ENCORDING = "UTF-8"; //デフォルトのエンコード

//出力ストリームにてテキストを保存(汎用)
public static final void saveText(OutputStream outputStream, String text, String charsetName)
throws IOException, UnsupportedEncodingException {
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream(outputStream);
bos.write(text.getBytes(charsetName)); //すべての byte[] を取得
bos.flush();
} finally {
try {
bos.close();
} catch (Exception e) {
//IOException
}
}
}


//内部ストレージに、テキストファイルを保存する(Android 用)
public static final void saveTextLocalStorage(String fileName, String text, Context context) throws IOException {
// "data/data/[パッケージ名]/files/" 直下に保存。他アプリアクセス不可(MODE_PRIVATE)
OutputStream os = context.openFileOutput(fileName, Context.MODE_PRIVATE);
saveText(os, text, DEFAULT_ENCORDING);
}


//メインでは... (※例外処理は省略)
String fileName = "sample.txt"; // "data/data/[パッケージ名]/files/sample.txt" となる
String text = "保存する文字列";
saveTextLocalStorage(fileName, text, this); //this は起動した Activity が良い(Context)
//ファイルが保存されていれば成功(エミュレータならDDMSで確認できる)

 文字エンコーディングは読み込みに合わせて "UTF-8" にした方が良いだろう。他のものにしたいなら、ストリームに渡す前に変更してやれば良い。

 実機の場合は確認しずらいかも知れないが、端末のアプリケーション管理から、該当アプリの情報を覗いてみると、「保存先」のような項目があり、データ容量が増えている事でもわかる(メニューは端末による)。

 ちなみにファイルの削除は Context.deleteFile() で簡単にできる。

 Android にはその他に、外部ストレージ機能というものもある。一番身近なものはSDカードだ。これはエミュレータでも実験できるので、次回はそれらに必要ないくつかの関数を組み合わせて、SDカードからテキストファイルを読み込む機能を作ってみよう。

 テキストファイルの読み込みや保存をまとめたページは→こちら


(関連記事)
【Android】内部ストレージからテキストファイルを読み込む
【Android】内部ストレージから画像ファイルを読み込む
【Android】内部ストレージに画像ファイルを保存する(png)
【Android】内部ストレージに画像ファイルを保存する(jpg)
【Android】SDカードにテキストファイルを保存する
【Android】【Applet】【Java】テキストファイルの読み込み・保存 まとめ
【Android】Preference 機能を使ってデータを読み込み・保存する



関連記事
スポンサーサイト



category: Android

thread: プログラミング

janre: コンピュータ

tag: テキストファイル保存  内部ストレージ 
tb: 0   cm: --


トラックバック

トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/122-049f653d
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Social

検索フォーム

全記事一覧

ユーザータグ

最新記事

リンク

カテゴリ

PR

PR

▲ Pagetop