Android---02---檔案的儲存與讀取

來源:互聯網
上載者:User

資料存放區與訪問 很多時候我們開發的軟體需要對處理後的資料進行儲存,以供再次訪問,Android為資料存放區提供了如下幾種方式: ·檔案·SharedPreferences(參數)·SQLite資料庫·內容提供者(Content provider)·網路 下面示範檔案的儲存與讀取:  activity_main.xml[html]  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      android:orientation="vertical" >        <TextView          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:text="@string/text1" />        <EditText          android:id="@+id/filename"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:text="abc.txt" />        <TextView          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:text="檔案內容" />        <EditText          android:id="@+id/filecontent"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:minLines="3" />        <Button          android:id="@+id/myButtonSave"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="儲存" />        <Button          android:id="@+id/myButtonRead"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="讀取" />    </LinearLayout>    FileServise.java [java]  package com.example.service;    import java.io.ByteArrayOutputStream;  import java.io.FileInputStream;  import java.io.FileNotFoundException;  import java.io.FileOutputStream;  import java.io.IOException;  import java.io.OutputStream;  import java.io.OutputStreamWriter;    import android.content.Context;    public class FileServise {      /**      * 儲存檔案      *       * @param filename      *            檔案名稱      * @param filecontent      *            檔案內容      * @return      */        private Context context;        public FileServise(Context context) {          super();          this.context = context;      }        public void savefile(String filename, String filecontent)              throws IOException {            /*          * IO 技術 看過我的JAVASE IO流的 寫起來很輕鬆,不過這裡使用安卓的Context 對象可以快速得到輸出資料流 第二個參數是          * 私人操作模式,建立出來的檔案只能被本應用訪問。 同時,採用私人模式建立的檔案, 會覆蓋源檔案的內容。          */            FileOutputStream fos = context.openFileOutput(filename,                  Context.MODE_PRIVATE);          fos.write(filecontent.getBytes());          fos.close();        }        /**      * 檔案讀取      *       * @param filename      * @return      * @throws IOException      */      public String readfile(String filename) throws IOException {            FileInputStream fis = context.openFileInput(filename);          // 寫入記憶體中的方法          ByteArrayOutputStream baos = new ByteArrayOutputStream();          byte[] buffer = new byte[1024];          int len = 0;          while ((len = fis.read(buffer)) != -1) {              baos.write(buffer, 0, len);          }          // 擷取          byte[] data = baos.toByteArray();          return new String(data);      }    }   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.