Android內部隱藏檔之資料讀取

來源:互聯網
上載者:User

標籤:

1:Android開發中,離不開對檔案的操作,因為檔案可以儲存大量資料,掌握相關技術可以為開發帶來許多便利,一下便是我們的應用在手機或者模擬器上的內部儲存位置。

 

2:通過一個簡單的程式實現對android應用的內部檔案的讀取操作,頁面如下:

 

3:範例程式碼如下:

package cativity.cyq.readwriteintemaldata;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;public class MainActivity extends ActionBarActivity {    private final String FILE_NAME = "text.txt";    private Button writrBTN;    private Button readBTN;    private EditText writeEdit;    private TextView showTEXT;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // final File fileName=new File(FILE_NAME);        writrBTN = (Button) findViewById(R.id.write_btn);        readBTN = (Button) findViewById(R.id.read_btn);        writeEdit = (EditText) findViewById(R.id.write_edit);        showTEXT = (TextView) findViewById(R.id.show_text);        writrBTN.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                try {                    /*調用openFileOutput()方法,如果檔案存在則只用該檔案,不存在,則建立該檔案。                    MODE_APPEND表示在文本的末尾追加資料,不覆蓋原有的資料*                    Context.MODE_PRIVATE:為預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容                    Context.MODE_APPEND:模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。                    MODE_WORLD_READABLE:表示當前檔案可以被其他應用讀取;                    MODE_WORLD_WRITEABLE:表示當前檔案可以被其他應用寫入。*/                    FileOutputStream fos = openFileOutput(FILE_NAME, MODE_APPEND);                    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");                    osw.write(writeEdit.getText().toString());                    //osw.write("hello Wrold !");                    osw.flush();                    fos.flush();                    osw.close();                    fos.close();                    Toast.makeText(MainActivity.this, "寫入成功", Toast.LENGTH_SHORT).show();                } catch (FileNotFoundException e) {                    e.printStackTrace();                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        });        readBTN.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                try {                    FileInputStream fps = openFileInput(FILE_NAME);                    InputStreamReader isr = new InputStreamReader(fps, "UTF-8");                    BufferedReader br = new BufferedReader(isr);                    StringBuilder sBuilder = new StringBuilder();                    String line = "";                    while ((line = br.readLine()) != null) {                        sBuilder.append(line);                    }                    showTEXT.setText(sBuilder.toString());                    Toast.makeText(MainActivity.this, "讀取成功", Toast.LENGTH_SHORT).show();                } catch (FileNotFoundException e) {                    e.printStackTrace();                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        });    }}

 

Android內部隱藏檔之資料讀取

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.