可以將檔案儲存在行動裝置的記憶體內,這種方式稱為內部儲存,說明如下:
呼叫Context的openFileOutput()可以輸出資料
呼叫FileOutputStream的write()將資料寫入檔案內
呼叫FileOutputStream的close()關閉寫入檔案的資料串流
@@檔案儲存於 data/data/<專案套件名稱>/files/derek.txt@@
設計Ch7_4_InternalStorage.java
- package com.example.ch7_4_internalstorage;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import android.os.Bundle;
- import android.app.Activity;
- import android.util.Log;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class Ch7_4_InternalStorage extends Activity {
- Button btn1,btn2;
- EditText et1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn1=(Button)findViewById(R.id.button1);
- btn2=(Button)findViewById(R.id.button2);
- et1=(EditText)findViewById(R.id.editText1);
- //儲存檔案
- btn1.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- FileOutputStream fo=openFileOutput("derek.txt",MODE_PRIVATE);
- fo.write(et1.getText().toString().getBytes());
- fo.close();
- } catch (Exception e) {
- // TODO 自動產生的 catch 區塊
- Log.d("Ch7_4_InternalStorage","例外發生: "+e.toString());
- }
- Toast.makeText(Ch7_4_InternalStorage.this, "儲存成功", Toast.LENGTH_LONG).show();
- }});
- //附加後存檔
- btn2.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- FileOutputStream fo=openFileOutput("derek.txt",MODE_APPEND);
- fo.write(et1.getText().toString().getBytes());
- fo.close();
- } catch (Exception e) {
- // TODO 自動產生的 catch 區塊
- Log.d("Ch7_4_InternalStorage","例外發生: "+e.toString());
- }
- Toast.makeText(Ch7_4_InternalStorage.this, "附加資料成功", Toast.LENGTH_LONG).show();
- }});
- }
- }
復制代碼
|