天天看点

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();

}



继续阅读