SDカードにテキストボックス内のテキストを「.txt」形式にて保存する方法です。
まずはファイルパスの設定を行います。
- // SDのパス設定
- String filePath = Environment.getExternalStorageDirectory().getPath() + "/" + SD_FOLDER + "/" + SD_FILE ;
- // 時刻取得
- Calendar calendar = Calendar.getInstance();
- // yyyyMMddhhmmssファイル名.txtになるようにする
- filePath = filePath + calendar.get(Calendar.YEAR) + (calendar.get(Calendar.MONTH) + 1) + calendar.get(Calendar.DAY_OF_MONTH) + "_"
- + calendar.get(Calendar.HOUR_OF_DAY) + calendar.get(Calendar.MINUTE) + calendar.get(Calendar.SECOND) + FILE_TYPE;
- // ファイル生成
- File file = new File(filePath);
- // ディレクトリ生成
- file.getParentFile().mkdir();
そうそう、SDカードを使用するにはパーミッションが必要です。
以下のコードをAndroidmanifest.xmlに追記してください。
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
そしていよいよ書き込み。
- FileOutputStream outputstream;
- try {
- outputstream = new FileOutputStream(file, true);
- OutputStreamWriter streamWriter = new OutputStreamWriter(outputstream, "UTF-8");
- BufferedWriter bufferedWriter = new BufferedWriter(streamWriter);
- String writeText = ((EditText) findViewById(R.id.inputText)).getText().toString();
- // 書き込み
- bufferedWriter.write(writeText);
- bufferedWriter.flush();
- bufferedWriter.close();
- Toast.makeText(this, filePath.toString() + " に保存しました。", Toast.LENGTH_LONG).show();
- } catch (Exception e) {
- // 書き込み失敗などの例外
- Toast.makeText(this, "書き込み失敗", Toast.LENGTH_LONG).show();
- }
画面にすると地味ですが、こんな感じになります。
0 件のコメント:
コメントを投稿