天天看點

03_Android項目中讀寫文本檔案的代碼

編寫一下android界面的項目

03_Android項目中讀寫文本檔案的代碼

使用預設的android清單檔案

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.itheima28.writedata"

    android:versioncode="1"

    android:versionname="1.0" >

    <uses-sdk

        android:minsdkversion="8"

        android:targetsdkversion="19" />

    <application

        android:allowbackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/apptheme" >

        <activity

            android:name="com.itheima28.writedata.mainactivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.main" />

                <category android:name="android.intent.category.launcher" />

            </intent-filter>

        </activity>

    </application>

</manifest>

android布局檔案

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    tools:context=".mainactivity">

    <button

        android:id="@+id/btn_read_private"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="讀私有檔案" />

        android:id="@+id/btn_write_private"

        android:text="寫私有檔案" />

        android:id="@+id/btn_read_readable"

        android:text="讀可讀檔案" />

        android:id="@+id/btn_write_readable"

        android:text="寫可讀檔案" />

        android:id="@+id/btn_read_writeable"

        android:text="讀可寫檔案" />

        android:id="@+id/btn_write_writeable"

        android:text="寫可寫檔案" />

        android:id="@+id/btn_read_readable_writeable"

        android:text="讀可讀可寫檔案" />

        android:id="@+id/btn_write_readable_writeable"

        android:text="寫可讀可寫檔案" />

</linearlayout>

4 android中的寫文本檔案的代碼

package com.itheima28.writedata;

import java.io.bufferedreader;

import java.io.fileinputstream;

import java.io.fileoutputstream;

import java.io.inputstreamreader;

import android.content.context;

import android.os.bundle;

import android.support.v7.app.actionbaractivity;

import android.view.view;

import android.view.view.onclicklistener;

import android.widget.toast;

/**

 * 讀寫檔案

 * 注意可以将寫檔案和寫檔案的兩個功能分别寫到不同的項目中進行測試

 * @author toto

 */

public class mainactivity extends actionbaractivity implements onclicklistener{

    //這個路徑是檔案所在路徑

         private string basicpath = "/data/data/com.itheima28.writedata/files/";

         @override

         protected void oncreate(bundle savedinstancestate) {

                   super.oncreate(savedinstancestate);

                   setcontentview(r.layout.activity_main);

                   // 寫資料

                   // 私有檔案

                   writetolocal("private.txt", context.mode_private);

                   // 可讀檔案

                   writetolocal("readable.txt", context.mode_world_readable);

                   // 可寫檔案

                   writetolocal("writeable.txt", context.mode_world_writeable);

                   // 可讀可寫檔案

                   writetolocal("readable_writeable.txt", context.mode_world_readable

                                     + context.mode_world_writeable);

                   findviewbyid(r.id.btn_read_private).setonclicklistener(this);

                   findviewbyid(r.id.btn_write_private).setonclicklistener(this);

                   findviewbyid(r.id.btn_read_readable).setonclicklistener(this);

                   findviewbyid(r.id.btn_write_readable).setonclicklistener(this);

                   findviewbyid(r.id.btn_read_writeable).setonclicklistener(this);

                   findviewbyid(r.id.btn_write_writeable).setonclicklistener(this);

                   findviewbyid(r.id.btn_read_readable_writeable).setonclicklistener(this);

                   findviewbyid(r.id.btn_write_readable_writeable).setonclicklistener(this);

         }

         /**

          * 寫檔案

          * @param filename

          * @param mode

          */

         private void writetolocal(string filename, int mode) {

                   try {

                            fileoutputstream fos = openfileoutput(filename, mode);

                            fos.write(("第一個程式寫的資料:" + filename).getbytes());

                            fos.flush();

                            fos.close();

                   } catch (exception e) {

                            e.printstacktrace();

                   }

          * 哪一個控件被點選, v對象就代表被點選的對象

         public void onclick(view v) {

                   switch (v.getid()) {

                   case r.id.btn_read_private:

                            readfile("private.txt");

                            break;

                   case r.id.btn_write_private:

                            writefile("private.txt");

                   case r.id.btn_read_readable:

                            readfile("readable.txt");

                   case r.id.btn_write_readable:

                            writefile("readable.txt");

                   case r.id.btn_read_writeable:

                            readfile("writeable.txt");

                   case r.id.btn_write_writeable:

                            writefile("writeable.txt");

                   case r.id.btn_read_readable_writeable:

                            readfile("readable_writeable.txt");

                   case r.id.btn_write_readable_writeable:

                            writefile("readable_writeable.txt");

                   default:

          * 讀檔案

         private void readfile(string filename) {

                            string path = basicpath + filename;

                            bufferedreader reader = new bufferedreader(new inputstreamreader(new fileinputstream(path)));

                            string text = reader.readline();

                            reader.close();

                            toast.maketext(this, "讀取成功: " + text, 0).show();

                            toast.maketext(this, "讀取失敗: " + filename, 0).show();

         private void writefile(string filename) {

                            fileoutputstream fos = new fileoutputstream(path);

                            fos.write("哈哈, 被我給黑了".getbytes());

                            toast.maketext(this, "寫入成功: " + filename, 0).show();

                            toast.maketext(this, "寫入失敗: " + filename, 0).show();

}



繼續閱讀