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に追記してください。
そしていよいよ書き込み。
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 件のコメント:
コメントを投稿